次のような data.frames のリストがあります。
df=data.frame(
data_id=rep(LETTERS[1:10],each=1),
data_value=c(1,2,2,3,3,2,3,1,1,3))
df2=data.frame(
data_id=rep(LETTERS[1:10],each=1),
data_value=c(2,1,3,1,1,1,2,1,2,1))
df3=data.frame(
data_id=rep(LETTERS[1:10],each=1),
data_value=c(2,2,3,3,1,2,2,1,2,3))
df.list <- list(df, df2, df3)
単一の data.frame は次のようになります。
data_id data_value
1 A 1
2 B 2
3 C 2
4 D 3
5 E 3
6 F 2
7 G 3
8 H 1
9 I 1
10 J 3
各一意の値が data_value に出現する頻度をカウントしたいと考えています。私がすることができます:
for(i in 1:length(df.list)){
daply(df.list[[i]], .(df.list[[i]]$data_value), nrow) -> freq
}
これにより、頻度カウントが得られます(この場合、df3の最後のもののみ):
1 2 3
2 5 3
私の実際のデータセットははるかに大きいため、ここに投稿することはできません。ただし、構造はまったく同じです。問題は、実際のデータセットの頻度カウントを取得しようとすると、次のエラー メッセージが表示されることです。
Error in dim(out_array) <- out_dim : dims [product 0] do not match the length of object [1]
これを修正するためにどこから探す必要があるか誰か教えてもらえますか? 「dim()」がどこに入って何をするのかわかりません。どうもありがとう。