簡體   English   中英

從數據框中刪除行與字符串匹配的行

[英]Remove Rows From Data Frame where a Row matches a String

我是否刪除了 dataframe 中某行符合字符串匹配條件的所有行?

例如:

A,B,C
4,3,Foo
2,3,Bar
7,5,Zap

我將如何返回排除 C = Foo 的所有行的 dataframe:

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 package 輕松刪除這些特定行。

library(dplyr)
df <- filter(df, C != "Foo")

我在數據框中有一列(A),其中包含 3 個值(是,否,未知)。 我只想過濾那些值為“是”的行,這是代碼,希望這對你們也有幫助——

df <- df [(!(df$A=="no") & !(df$A=="unknown")),]

如果您希望使用 dplyr 來刪除行“Foo”:

df %>%
 filter(!C=="Foo")

我知道這已得到解答,但如果有人可以從中獲得幫助,請執行此操作

庫 (dplyr) df %>% 過濾器(!c=="foo)

或者

df[,df$c=="foo", ]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM