R 嵌套循环或等效循环
我试图做一个嵌套循环,我从一个简单的循环开始,我想用不同的数据帧做相同的循环 这项工作很好:R 嵌套循环或等效循环,r,loops,R,Loops,我试图做一个嵌套循环,我从一个简单的循环开始,我想用不同的数据帧做相同的循环 这项工作很好: set.seed(123) df1= data.frame(date= 1:10, vartre=rnorm(10, 30, 4), varpre=rnorm(10, 10, 5)) var=names(df1) for(x in var ) { plot(df1$date,df1[,x], type="l", main=
set.seed(123)
df1= data.frame(date= 1:10,
vartre=rnorm(10, 30, 4),
varpre=rnorm(10, 10, 5))
var=names(df1)
for(x in var ) {
plot(df1$date,df1[,x], type="l", main=x)
}
现在,我想对不同的df进行同样的处理,我尝试使用嵌套循环,但这不起作用,例如:
df2= data.frame(date= 1:10,
varkyt=rnorm(10, 100, 40),
varkdr=rnorm(10, 50, 5))
df3= data.frame(date= 1:10,
varwer=rnorm(10, 300, 400),
varpou=rnorm(10, 1000, 500))
dfs=c("df1", "df2", "df3")
for(i in dfs) {
var=names(i)
for(x in var ) {
plot(i$date,i[,x], type="l", main=paste(i,x)))
}
}
提前感谢我们可以使用
lappy
循环列表
(mget
-从字符串标识符返回data.frame的列表
)并打印
out我们可以使用lappy
在列表上循环(mget
-从字符串标识符返回data.frame的list
)并绘图
出去谢谢!很好!只需在末尾添加一个括号我在添加时遇到问题:png(filename=paste(“graph”,I,x,“.png”))plot(dat$date,dat[,x],type=“l”,main=x)),你知道为什么吗?@Rodrigo错误/问题是什么。由于有多个图形,最好调用pdf
,将其放在一个pdf文档中,每个图形放在其中一个页面中;错误:“png(filename=paste(“graph”,dat,x,“.png”))绘图“@Rodrigo”中出现意外符号。png
中的i
是什么。在代码中,我们没有i
谢谢!很好!只需在末尾添加一个括号我在添加时遇到问题:png(filename=paste(“graph”,I,x,“.png”))plot(dat$date,dat[,x],type=“l”,main=x)),你知道为什么吗?@Rodrigo错误/问题是什么。由于有多个图形,最好调用pdf
,将其放在一个pdf文档中,每个图形放在其中一个页面中;错误:“png(filename=paste(“graph”,dat,x,“.png”))绘图“@Rodrigo”中出现意外符号。png
中的i
是什么。在代码中,我们没有i
out <- lapply(mget(dfs), function(dat) {
var <- names(dat)[-1]
lapply(var, function(x) plot(dat$date, dat[,x], type = "l",
main = x))
})
path <- "path/to/folder/"
lapply(mget(dfs), function(dat) {
var <- names(dat)[-1]
lapply(var, function(x) {
png(filename=paste(path, "grafico", x,".png"))
plot(dat$date, dat[,x], type = "l",
main = x)
dev.off()
}
)
})