2013-07-03 62 views
1

我有一個簡單的問題。在R中導入的表總是將row.names作爲第一列名稱。如何將其更改爲例如「ID」?這是我的表 row.names的一個簡單的例子名1名2如何更改r中的第一列名稱

我想改變row.names到ID來獲得以下talbe ID名1名2

回答

3

你行必須有名稱或號碼。這不是表格中的列(有關更多詳細信息,請參閱row.names下的?read.table)。如果您嘗試將row.names設置爲NULL,則會強制對行進行順序編號。你可以爲你的行添加序列號的id列如下:

table$id <- 1:nrow(table) 

如果你有,你要保留你能做到這一點您的數據的特定row.names ...

table$id <- rownames(table) 

然後當你的表保存到磁盤

write.table(table , "~/mytable.txt" , row.names = FALSE) 

注意,當你回看表,R將創建按順序編號的行名。 data.frames必須有排名!

+0

看起來這是R中的問題。討論了這個問題,並在鏈接https://stat.ethz.ch/pipermail/r-help/2005-August/077110.html – user2545342

+0

@ user2545342 AFAIK中建議了一個解決方案這在R中不是問題.R的行爲完全如文獻記載。所提供的鏈接不是解決R問題的解決方案,它是OP得到預期結果的解決方法。我會更新我認爲你想要的答案。 –