r-当我删除第一列时,行名称也被删除了


df <- data.frame(col1=c('row1','row2','row3'),col2=c(1,1,1),col3=c(0,0.5,2))
> row.names(df) <- df$col1
> df
col1 col2 col3
row1 row1    1  0.0
row2 row2    1  0.5
row3 row3    1  2.0
> df <- select(df, -starts_with("col1"))
> df
col2 col3
row1    1  0.0
row2    1  0.5
row3    1  2.0

我上面所做的并不能用我的真实代码运行。因此,我在R中有一个data.frame。我将第一列设为row.names。现在我想删除第一列,但当我这样做时,row.name也会被删除(转换为编号(。不幸的是,我无法重现我的错误。使用df,它可以正常工作。根据我的数据,它看起来像这个

col2 col3
1   1  0.0
2   1  0.5
3   1  2.0

这样做的原因(和解决方案(是什么?

谢谢

您可以简单地取消选择col1:

df <- data.frame(col1=c('row1','row2','row3'),col2=c(1,1,1),col3=c(0,0.5,2))
row.names(df) <- df$col1

通过取消选择col1:子集df

df[,-1]
col2 col3
row1    1  0.0
row2    1  0.5
row3    1  2.0

最新更新