【问题标题】:Combining two vectors with rbind用 rbind 组合两个向量
【发布时间】:2020-01-20 19:24:42
【问题描述】:

我正在尝试创建一个名为 ID 的列,其中包含 5000 行作为对 20 个人的观察的标识列。我希望前 10 个人中的每一个都有 200 个观察值,接下来的 10 个个体有 300 个观察值(因为我不希望每个个体的观察值相同)。所以我做了两个单独的专栏:

ID <- data.frame(ID=rep(c(12,122,242,329,595,130,145,245,654,878), each = 200))
ID2 <- data.frame(ID=rep(c(863,425,24,92,75,3,200,300,40,500), each = 300))

为什么我无法使用 rbind 将一个堆叠在另一个之上(与所有个人一起制作一个列)?

ID <- rbind(c(ID,ID2))

【问题讨论】:

  • 您正在寻找data.frame(new = c(unlist(ID), unlist(ID2))) 或只是rbind(ID, ID2)
  • data.frame(new = c(unlist(ID), unlist(ID2))) 工作。但是,rbind(ID, ID2) 给出了这个错误:Error in match.names(clabs, names(xi)) : names do not match previous names
  • 在您的示例中,ID 列名是相同的,如果不是,您可能需要将其更改为 rbind 的通用列名

标签: r vector rbind


【解决方案1】:

你快到了,只是不要在 rbind 中使用 c()

ID <- rbind(ID,ID2)

【讨论】:

  • 对不起,这是错误:Error in match.names(clabs, names(xi)) : names do not match previous names
  • @Ryan 这个解决方案对我有用。上面的示例是您正在运行的实际代码,还是只是为了示例?
  • 我理解为什么它不起作用,这与我在代码中使用的命名约定有关,一旦我从头开始运行它,它就起作用了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-25
  • 1970-01-01
  • 1970-01-01
  • 2020-04-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多