根据一列中的零值删除R数据帧行

时间:2018-01-10 05:31:01

标签: r dataframe delete-row

我有这个数据帧,沿着两列有一组零值。 DF

 Sl_No  No_of_Mails No_of_Responses
 1       10           2
 2        0           0
 3       20           0
 4       10          10
 5        0           0
 6        0          NA
 7       10          NA
 8       10           0

我想删除那些No_of_Mails等于零而不打扰其他列的行。 我试过以下代码

row_sub = apply(df, 1, function(row) all(row !=0 ))
df[row_sub,]

这将删除所有0值,包括number_of_responses列中的值。我希望这个专栏不受干扰 我也试过这个

 df[df$No_of_Mails][!(apply(df, 1, function(y) any(y == 0))),].

这会删除所有行,并为我提供一个零行的表。

1 个答案:

答案 0 :(得分:3)

只需根据No_of_Mails列中的值对数据框进行子集化:

df[df$No_of_Mails != 0, ]

Demo