我想只删除包含“Apple_”的行的行名
df <- data.frame('fruit'=c("Apple_1", "Apple_2", "Apple_3", "Pear_1", "Pear_2", "Pear_3"),
'color'=c("Red", "Red", "Green","Green","Green","Green"))
df<- column_to_rownames(df, var="fruit")
这些都不起作用,因为我相信没有任何行只被称为“Apple”
row.names.remove <- c("Apple")
df[!(row.names(df) %in% row.names.remove), ]
df2<- length(which(grepl("Apple", rownames(df))))
df3<- df[row.names(df) != "Apple", , drop = FALSE]
1条答案
按热度按时间qgzx9mmu1#
我们可以将
grep
与-
一起使用或
invert = TRUE
对于
data.frame
,rownames和column names属性不能为空。或者转换为
matrix
,然后将这些行名称更改为空白(""
)因为
matrix
允许行名重复,而data.frame
不允许。也可以完全删除rowname属性,但必须跨整个对象