【发布时间】:2017-05-26 07:07:28
【问题描述】:
我有 300 个位置,比如说“A1、A2、A3、...、A300”,我有 40 个值。我的位置在 df1 中,我的值在 df2 中。我想将这 40 个值添加到每个位置,位置 A1 的代码从 40 到 40 等等。
我尝试了一个 for 循环:
df1 <- c("A1", "A2", "A3")
df1 <- data.frame(df1)
colnames(df1) <- c("location")
df2 <- c(1:40)
df2 <-data.frame(df2)
colnames(df2) <- c("code")
data <- data.frame() #Empty data.frame
for (i in df2) {
temp <- df1
temp$code <- rep(i)
data1 <- rbind(data, temp)
}
此脚本导致错误:'replacement has 40 rows, data has 315'。
谁能告诉我我该怎么做才能完成这项工作?
期望的输出:
【问题讨论】:
-
您的描述不清楚。您能否展示一个可重复的小示例和预期输出
-
temp$value <- rep(i)行在循环中看起来是错误的。rep(i)没有 "times" 参数基本上等同于print(i)