这里还有其他问题解决同一个问题,但我不知道如何解决我的问题基于它。所以,我有要合并使用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