ffdf で最も頻繁に使用される要素を見つけ、その後、ある行を削除するための提案が必要です。非常に大きなデータを扱っており、ベース RI ではメモリが不足しているため、ff パッケージを試すことにしました。
以下に少し例を示します。
# create a base R Matrix
> z<-matrix(c("a", "b", "a", "c", "b", "b", "c", "c", "b", "a"),nrow=5,ncol=2,byrow = TRUE)
> z
[,1] [,2]
[1,] "a" "b"
[2,] "a" "c"
[3,] "b" "b"
[4,] "c" "c"
[5,] "b" "a"
# convert z to ffdf
> u=as.data.frame(z, stringsAsFactors=TRUE)
> u=as.ffdf(u)
> u
ffdf data
V1 V2
1 a b
2 a c
3 b b
4 c c
5 b a
を探しています:
- ffdf で最も頻繁に使用される要素をエクスポートします (この場合は「b」です)。
- 「b」が配置されているすべての行をffdfから削除します
したがって、新しい ffdf は次のようになります。
V1 V2
1 a c
2 c c
ベースRIでは、「テーブル」機能で方法を見つけました
temp <- table(as.vector(z))
t1<-names(temp)[temp == max(temp)]
z1<- z[rowSums(z== t1[1]) == 0, ]
しかし、巨大なデータを扱うには、ff パッケージのようなものが必要です。