gpt4 book ai didi

R rbind 错误 row.names 不允许重复

转载 作者:行者123 更新时间:2023-12-01 16:51:28 25 4
gpt4 key购买 nike

这里还有其他问题解决同一问题,但我不知道如何基于它解决我的问题。因此,我有 5 个数据框,我想使用 rbind 将行合并到一个唯一的数据框中,但它返回错误:

row.names<-.data.frame 中的错误(*tmp*,值 = 值): 'row.names' 不允许重复另外:警告消息:设置 'row.names' 时的非唯一值:'1'、'10'、'100'、'1000'、'10000'、'100000'、'1000000'、'1000001 [...]"

数据框具有相同的列但行数不同。我认为 rbind 命令将第一列作为 row.names。因此尝试在五个数据帧中放入一个连续的 id,但它不起作用。我尝试通过 row.names() 在数据帧中指定连续的行名称,但也没有成功。我认为合并命令不是一个选项,因为有 5 个数据帧,连续的合并将覆盖先例。我仅使用 ids 创建了一个新数据框并尝试加入,但生成的数据框不会附加加入的 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 重复的错误。

有什么想法吗?

提前致谢

最佳答案

我最近也遇到了同样的错误。在我的例子中,问题是数据框的属性之一是列表。将其转换为基本对象(例如数字)rbind后工作得很好。

顺便说一句,行名称是第一个变量左侧的“行号”。在您的示例中,它是 1, 2, 3, ...(与您的 id 变量相同)。

您可以使用 rownames(df) 查看它并使用 rownames(df) <- name_vector 设置它( name_vector 必须与 df 具有相同的长度,并且其元素必须是唯一的)。

关于R rbind 错误 row.names 不允许重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22766738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com