data.frame 内の複数の列の頻度を数えようとしています。
各列で関数を使用し、table
それらをすべて cbind でバインドし、後で集計関数を使用して、識別子で平均を計算しました。例:
df1
V1 V2 V3
George Mary Mary
George Mary Mary
George Mary George
Mary Mary George
Mary George George
Mary
Frequency<- as.data.frame(cbind(table(df1$V1), table(df1$V2), table(df1$V3)))
row.names V1
George 3
Mary 3
1
George 1
Mary 4
1
George 3
Mary 2
(視覚的に) 得られる結果は 2 列のデータ フレームですが、の次元を確認するFrequency
と、2 列目のみが存在することを意味する結果が得られます。
列の名前を変更して集計関数を実行しようとすると、問題が発生します。名前の変更でエラーが発生します。
colnames(Frequency) <- c("Name", "Frequency")
Error in names(Frequency) <- c("Name", "Frequency") :
'names' attribute [2] must be the same length as the vector [1]
最終的な目的は、集計コマンドを実行し、名前で平均を取得することです。
Name.Mean<- aggregate(Frequency$Frequency, list(Frequency.Name), mean)
望ましい出力:
Name Mean
George Value
Mary Value