如何基于行名称在R中删除一行

4

如果我有一个数据框,行名是单词而不是数字,如何根据行名删除特定行?

例如,如果一行的名称是“细菌”,如何仅删除名为“细菌”的该行?


4
只需执行 df1[row.names(df1) != "Bacteria",] 即可。该操作将排除数据框中行名为"Bacteria"的行,并返回结果数据框。 - akrun
2
%in% maybe better than != - df1[!row.names(df1) %in% c("Bacteria", "Virus"),] - d.b
1
@akrun 把这个变成一个答案! - Fausto Carvalho Marques Silva
1个回答

6

我们可以通过使用比较运算符与row.names创建逻辑向量,并使用该行索引来对行进行子集化。如果df1是数据框对象名称,则执行以下操作:

df1[row.names(df1) != "Bacteria", , drop = FALSE]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接