【发布时间】: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的通用列名