私はいくつかの変数を含むデータのセットを持っています。変数の1つに、A、B、Cなどのグループの指定が含まれます。残りの変数は数値です。さらに統計的計算のためR:所定の発生頻度と因子の自動更新レベルで変数(因子)の行を削除する
> data1
Group Value
1 A 23
2 A 25
3 B 1
4 C 15
5 C 11
6 C 14
7 B 3
8 B 4
9 B 2
10 C 19
Iデータから除外するグループをデータフレームに見出される条件のn数回(例えば、と特定のグループ(例えば、X)を含む行を設定し、 2回未満)。
私が以前に見た資料では、特定の値を持つ行を削除し、データフレーム内のグループ(要素)の出現頻度には関連していません。たぶん私は間違っています?ごめんなさい! 「手動」モードで特定の行を削除する
、私は次のコードを使用し
data1 <- as.data.frame(
lapply(subset(data1, !Group=="A"),
function(x) if(is.factor(x)) factor(x) else x
)
)
を私はこのプロセスを自動化したい、所定の発生にすべてのレベル因子(群)を除外する:
> data1
Group Value
1 B 1
2 C 15
3 C 11
4 C 14
5 B 3
6 B 4
7 B 2
8 C 19
追加
氏は 'Akrunは' 次のコードを使用してアイデアをもたらした:
tbl <- table(data1$Group)
data1 <- subset(data1, Group %in% names(tbl)[tbl>2])
これは必要なものです。私は彼に感謝します! しかし、rezltate要因レベルは変更されません。これを修正するには、私はレコードを使用するように強制しています:
data1$Group = factor(data1$Group)
は確かに考慮にケースを取って既製のソリューションがあるのですか?
ああ、ちょうど私にそれを打つ。ニースone –
優れたもの。それは作品です!ありがとうございました! –