已经对R中的循环进行了一些研究,发现其中大多数只关注如何使用Change variable name in for loop using R之类的循环来更改文件或变量名,这可以从其他博客作者的文章中找到很好的解决方案。...< / p>
以下是我想对原始数据(s1P ... s9P)进行处理以通过根据(s1P ... s9P)中的基准列计算其平均值来获取新数据(s1Pm ... s9Pm)的方法。
可以逐行运行以下几行,但是,似乎应该有可能使用循环来使其整洁。
任何建议将不胜感激。周末愉快!
s1Pm = aggregate(s1P, list(s1P$Datum), mean)
s2Pm = aggregate(s2P, list(s2P$Datum), mean)
s3Pm = aggregate(s3P, list(s3P$Datum), mean)
s4Pm = aggregate(s4P, list(s4P$Datum), mean)
s5Pm = aggregate(s5P, list(s5P$Datum), mean)
s6Pm = aggregate(s6P, list(s6P$Datum), mean)
s7Pm = aggregate(s7P, list(s7P$Datum), mean)
s8Pm = aggregate(s8P, list(s8P$Datum), mean)
s9Pm = aggregate(s9P, list(s9P$Datum), mean)
答案 0 :(得分:2)
我们可以用list
加载mget
中的所有对象,然后通过遍历aggregate
list
outLst <- lapply(mget(paste0("s", 1:9, "P")),
function(x) aggregate(x, list(x$Datum), mean))
names(outLst) <- paste0(names(outLst), "m")
最好将输出保留在list
中,而不是创建多个对象。但是,它也可以完成
list2env(outLst, envir = .GlobalEnv)
虽然不推荐