特定の行が文字列の一致基準を満たすデータフレーム内のすべての行を削除しますか?
例えば:
A,B,C
4,3,Foo
2,3,Bar
7,5,Zap
C = Fooのすべての行を除外するデータフレームをどのように返しますか:
A,B,C
2,3,Bar
7,5,Zap
==
と否定記号(!
)を使用するだけです。 dtfmがdata.frameの名前の場合:
dtfm[!dtfm$C == "Foo", ]
または、比較で否定を移動するには:
dtfm[dtfm$C != "Foo", ]
または、subset()
を使用してさらに短くする:
subset(dtfm, C!="Foo")
dplyr
パッケージを使用して、これらの特定の行を簡単に削除できます。
library(dplyr)
df <- filter(df, C != "Foo")
データフレームにcolumn(A)があり、3つの値(はい、いいえ、不明)があります。これがコードである「yes」の値を持つ行のみをフィルタリングしたかったのですが、これが皆さんにも役立つことを願っています-
df <- df [(!(df$A=="no") & !(df$A=="unknown")),]