我正在尝试将几列中的值求和,并在多个数据帧中重复此过程。我已经在for循环之外运行了聚合函数,并且产生了预期的结果。
但是,在for循环中,尝试遍历数据帧时出现错误“找不到对象”,而尝试遍历列名时出现错误“可变长度不同”。关于如何解决这些错误中的一个或两个的任何建议?有没有更好的方法可以完全做到这一点?我已经广泛浏览了该论坛,以前的建议都没有解决该问题。感谢您的阅读!
for (i in colnames(m)){
n <- paste("m", i, sep = "")
n <- aggregate(
i~key + plot + blk + trt + field + timepoint + time_code,
data=m, FUN = sum)
}
ilist <- list(m, d, ss, seg)
for (i in 1:length(ilist)){
n <- paste(i, sep = "")
n <- aggregate(
stems~key + plot + blk + trt + field + timepoint + time_code,
data=i, FUN = sum)
}
答案 0 :(得分:1)
在这一行:
var options = {
"method": "POST",
"hostname": "api.thomsonreuters.com",
...
``
您正在将数据设置为循环的索引。您需要这样做:
stems~key + plot + blk + trt + field + timepoint + time_code, data=i, FUN = sum)
我不确定这是否可以解决您的所有问题。至于您是否还有更好的方法的另一个问题-也许看看stems~key + plot + blk + trt + field + timepoint + time_code, data=ilist[i], FUN = sum)
?
答案 1 :(得分:1)
您似乎正在使用其他语言的for
循环中的规则,而不是R的特定规则。
我将以此方式重新编写您的代码(尽管请记住,我还没有看到您的数据):
nameList <- colnames(m)
for (i in length(nameList)){
n <- paste(nameList[m], i, sep = "")
n <- aggregate(
i~key + plot + blk + trt + field + timepoint + time_code,
data=nameList[m], FUN = sum)
}
ilist <- list(m, d, ss, seg)
for (i in 1:length(ilist)){
n <- paste(ilist[i], sep = "")
n <- aggregate(
stems~key + plot + blk + trt + field + timepoint + time_code,
data=ilist[i], FUN = sum)
}