私が使用している関数はパラメータとしてテーブルオブジェクトを必要とするため、多次元配列をテーブルに変換したいのですが、次元名に問題があります。
のヘルプファイルで指定されているようas.table
に、dnn
パラメータにはdimnames名が含まれている必要があります。
dnn … the names to be given to the dimensions in the result (the dimnames names).
ただし、を指定した場合でも、dnn
によって作成されたテーブルにas.table
はディメンション名がありません。
次のコードは私の問題を示しています。
>test <- table(c("a","b","c","c","c"),c("1","2","3","2","2"),dnn=c("letters","numbers"))
>test
numbers
letters 1 2 3
a 1 0 0
b 0 1 0
c 0 2 1
# this works perfectly
配列からテーブルを作成するときに同じことを試してください。
>my2dimdata <- array(c(1,0,0,0,1,2,0,0,1),dim=c(3,3),
dimnames=list(c("a","b","c"),
c("1","2","3")))
>my2dimdata
1 2 3
a 1 0 0
b 0 1 0
c 0 2 1
# the array as expected
>my2dimtable <- as.table(my2dimdata,dnn=c("letters","numbers"))
>my2dimtable
1 2 3
a 1 0 0
b 0 1 0
c 0 2 1
# there are no dimnames
as.table
dnn
引数はありません。dimnamesを手動で設定する必要があります。
my2dimdata <- array(c(1,0,0,0,1,2,0,0,1),dim=c(3,3),
dimnames=list(c("a","b","c"),
c("1","2","3")))
my2dimdata <- as.table(my2dimdata)
names(attributes(my2dimdata)$dimnames) <- c("letters","numbers")
# numbers
# letters 1 2 3
# a 1 0 0
# b 0 1 0
# c 0 2 1
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加