df
「long」形式のdata.frameがあります。
df <- data.frame(site = rep(c("A","B","C"), 1, 7),
time = c(11,11,11,22,22,22,33),
value = ceiling(rnorm(7)*10))
df <- df[order(df$site), ]
df
site time value
1 A 11 12
2 A 22 -24
3 A 33 -30
4 B 11 3
5 B 22 16
6 C 11 3
7 C 22 9
質問
df$time
レベルごとにの一意の要素が存在しない行を削除するにはどうすればよいdf$site
ですか?
この場合、タイムスタンプ33はサイトAにのみ存在し、サイトBとサイトCには存在しないdf[3,]
ため、を削除します。df$time
必要な出力:
df.trimmed
site time value
1 A 11 12
2 A 22 -24
4 B 11 3
5 B 22 16
6 C 11 3
7 C 22 9
data.frameには、簡単に800k行と200k固有のタイムスタンプがあります。ループを使用したくありませんが、この場合のようにapply()
、またはlapply()
この場合のベクトル化された関数の使用方法がわかりません。