在其他 R 代码中,通常会在循环开始之前看到 data.frame 声明。假设我有 2000 行的数据框 data1。在一个循环中,我通过 web 服务循环 data1 来创建一个新的 data.frame data2。(请不要推荐不使用循环)。在 data2$result 和 data2$pubcount 中,我需要为 2000 个 data1 项目中的每一个存储不同的值。
我必须在循环之前声明吗
data2=data.frame()
我是否必须告诉 R 我稍后将使用多少行和哪些列?我知道可以在不声明的情况下添加列。行呢。这样做有没有优势:
data2<-data.frame(id=data1$id)
我只想做我绝对必须声明和做的事情。为什么空声明在循环中给出错误一次?
稍后编辑:速度和内存不是问题。10s 与 30s 没有区别,我有一个不到 100MB 的数据和大型 PC (8GB)。矩阵不是一个选项,因为数据是数字和文本(混合),所以我必须使用非矩阵。