【发布时间】:2016-10-05 06:03:05
【问题描述】:
我想创建一个空数据框,因此执行循环并将新内容添加到(新)数据框。
因此我写了这样的东西:
number <- c(1,2)
text <- c("Yes", "No")
df_test <- data.frame(number, text)
df_base = data.frame(number = numeric(), text = character())
for(i in 1:nrow(df_test)){
text <- df_test$text[i]
number <- df_test$number[i]
df_temp <- data.frame(text, number)
df_base <- rbind(df_base, df_temp)
}
上面的代码可以解决问题,但似乎不是最有效的方法。有什么想法可以写得更好吗?
【问题讨论】:
-
你不应该在 R (see here) 中逐行创建数据框。在这种情况下,为什么不直接使用
df_base <- df_test? -
这只是一个例子......仅用于复制目的
-
如果您的目标是更改新表中的文本或数字列,请知道找到vectorized 解决方案通常也更有效
标签: r