我想把下面的代码压缩成一个for循环:
day1 = data.frame(cbind("ID" = data$ID, "outcome" = outcome, "age" = age, "day" = days[,1], "val" = val[,1]))
day2 = data.frame(cbind("ID" = data$ID, "outcome" = outcome, "age" = age, "day" = days[,2], "val" = val[,2]))
day3 = data.frame(cbind("ID" = data$ID, "outcome" = outcome, "age" = age, "day" = days[,3], "val" = val[,3]))
day4 = data.frame(cbind("ID" = data$ID, "outcome" = outcome, "age" = age, "day" = days[,4], "val" = val[,4]))
day5 = data.frame(cbind("ID" = data$ID, "outcome" = outcome, "age" = age, "day" = days[,5], "val" = val[,5]))
day6 = data.frame(cbind("ID" = data$ID, "outcome" = outcome, "age" = age, "day" = days[,6], "val" = val[,6]))
day7 = data.frame(cbind("ID" = data$ID, "outcome" = outcome, "age" = age, "day" = days[,7], "val" = val[,7]))
我正在尝试创建 7 个名为 day1
到 day7
的数据框。我还想从 days
和 val
数据框中的相应列中提取信息。我已经写了以下 for 循环,但它不起作用。有什么建议吗?
for (i in 1:7) {
name = paste0("day",i)
name <- data.frame(cbind("ID" = data$ID,
"outcome" = outcome,
"age" = age,
"day" = days[i],
"val" = val[i]))
}
答案 0 :(得分:0)
类似于您所要求的(来自 for 循环的名为 dayi 的数据帧):
day <- list()
for (i in 1:7) {
day[[i]] <- data.frame(cbind("ID" = data$ID,
"outcome" = outcome,
"age" = age,
"day" = days[i],
"val" = val[i]))
}
唯一的区别是你的数据框将被 day[[i]] 而不是 dayi 调用。这样做的好处是将它们全部组合在一个列表中