這裏還有其他問題解決同一個問題,但我不知道如何解決我的問題基於它。所以,我有要合併使用rbind成爲一個獨特的數據幀行5個的數據幀,但它返回的錯誤:R rbind錯誤row.names重複不允許
「錯誤row.names<-.data.frame
(*tmp*
,值=值): ‘row.names’複製不允許 此外:警告消息: 設置'row.names'時的非唯一值:'1','10','100','1000','10000','100000','1000000', '1000001 [....]「
數據幀具有相同的列但行數不同。我認爲rbind命令將第一列作爲row.names。所以試圖在五個數據框中添加一個順序標識,但它不起作用。我試圖通過row.names()在數據框之間指定一個連續的行名,但沒有成功。合併命令不是我認爲的選項,因爲有5個數據幀,並且連續的合併將覆蓋先例。我只用id創建了一個新的數據框,並嘗試加入,但是結果數據框不添加已加入df的列。
跟隨DF 1的摘錄:
id image power value pol class
1 1 tsx_sm_hh 0.1834515 -7.364787 hh FR
2 2 tsx_sm_hh 0.1834515 -7.364787 hh FR
3 3 tsx_sm_hh 0.1991938 -7.007242 hh FR
4 4 tsx_sm_hh 0.1991938 -7.007242 hh FR
5 5 tsx_sm_hh 0.2079365 -6.820693 hh FR
6 6 tsx_sm_hh 0.2079365 -6.820693 hh FR
[...]
1802124 1802124 tsx_sm_hh 0.1991938 -7.007242 hh FR
其他四個DF的是相同的結構,不同之處在於沒有它之間重複號碼「ID」列。 'pol'和'image'列被定義爲級別。 和all.pol <- rbind(df1,df2,df3,df4,df5)
返回重複的row.names的這個錯誤。
有什麼想法?
在此先感謝
我無法重現您的錯誤。你可以發佈兩個數據幀的「str」嗎?你有沒有嘗試只綁定兩個並得到相同的錯誤?是'rbind(df1,df2,df3,df4,df5)'你用來產生這些錯誤的確切代碼? – rawr
> str(forest) 'data.frame':\t 1802124 obs。 6個變量: $ id:int 1 2 3 4 5 6 7 8 9 10 ... $ image:帶有9個級別的因子「tsx_sm_hh」,「tsx_sm_hv」,..:1 1 1 1 1 1 1 1 1 1 ... $ power:num 0.183 0.183 0.199 0.199 0.208 ... $ sigma:'data.frame':\t 1802124 obs。 1變量: .. $ value:num -7.36 -7.36 -7.01 -7.01 -6.82 ... $ pol:因子w/3等級「hh」,「hv」,「vv」:1 1 1 1 1 1 1 1 1 1 ... $ class:chr「FR」「FR」「FR」「FR」... – Jecogeo
> str(herb) 'data.frame':\t 1960371 obs。 6個變量: $ id:int 1802125 1802126 1802127 1802128 1802129 1802130 1802131 1802132 1802133 1802134 ... $ image:帶有9個等級的因子「tsx_sm_hh」,「tsx_sm_hv」,..:1 1 1 1 1 1 1 1 1 1 ... $功率:數量0.16 0.165 0.165 0.165 0.185 ... $ sigma:'data.frame':\t 1960371 obs。 1變量: .. $ value:num -7.96 -7.84 -7.84 -7.84 -7.32 ... $ pol:因子w/3等級「hh」,「hv」,「vv」:1 1 1 1 1 1 1 1 1 1 ... $ class:chr「HB」「HB」「HB」「HB」... – Jecogeo