R在for循环中绘制
R Plot in a for loop
我想使用 for 循环绘制很多数据集。
我使用
列了一个清单
dflist <- c('Set1', 'Set2','Set3', 'Set4')
那我试着做:
for (i in dflist) {
plot(i$var1,i$var2)
}
这是行不通的。
有人可以帮我解决这个问题吗?
尝试使用 dflist<-list(set1,set2) 否则你会在 dflist
中得到单独的 var1 和 var2 向量列表
您可以为此使用 get
,其中 'gets' 与提供的名称关联的对象。
# two data frames
a = data.frame(x=1:10,y=sqrt(1:10)); b=data.frame(x=1:10,y=exp(1:10))
par(mfrow=c(2,1))
dfs = c('a', 'b')
for (i in dfs){
plot(get(i)$x, get(i)$y, type='o')
}
或apply
以避免循环,对列表中的每个项目应用自定义函数。
par(mfrow=c(2,1))
dflist = list(a,b)
lapply(X=dflist, FUN = function(x) plot(x$x, x$y, type='o')
我想使用 for 循环绘制很多数据集。 我使用
列了一个清单dflist <- c('Set1', 'Set2','Set3', 'Set4')
那我试着做:
for (i in dflist) {
plot(i$var1,i$var2)
}
这是行不通的。 有人可以帮我解决这个问题吗?
尝试使用 dflist<-list(set1,set2) 否则你会在 dflist
中得到单独的 var1 和 var2 向量列表您可以为此使用 get
,其中 'gets' 与提供的名称关联的对象。
# two data frames
a = data.frame(x=1:10,y=sqrt(1:10)); b=data.frame(x=1:10,y=exp(1:10))
par(mfrow=c(2,1))
dfs = c('a', 'b')
for (i in dfs){
plot(get(i)$x, get(i)$y, type='o')
}
或apply
以避免循环,对列表中的每个项目应用自定义函数。
par(mfrow=c(2,1))
dflist = list(a,b)
lapply(X=dflist, FUN = function(x) plot(x$x, x$y, type='o')