如果符合条件或是特定行号,则删除行

时间:2018-04-01 23:05:16

标签: r dataframe

我有类似

的东西
Name   Data1   Data2
John   4       3
Jack   6       2
Jill   5       14
...    ...     ...

并希望删除data2大于10的行以及第5行。我可以这样做

df = df[df$data2>10,]
df = df[-5,]

但有没有办法将这些放在一行上?

2 个答案:

答案 0 :(得分:1)

您需要确定索引方案。可以是逻辑的也可以是数字的。如果是数字,那么:

df[-c( which(df$data2>10) , 5), ]  # duplicates don't break numeric indexing

...如果是逻辑(否定)则:

df[ !(df$data2>10|(rownames(df)==5)),] # duplicates don't break logical indexing

答案 1 :(得分:0)

对不起以前! 试试这句话:

df = df[-c(which(df$data2>10),5),]