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