我在函数语句中结合 lapply、substitute、print、plot 和 list 没有任何成功。有人可以指导我修改此代码的方法吗?我想:
- 自动绘制数据框中的一些但不是所有字段与 df 中的第一个字段
- 指定要绘制的字段
- 将结果写入文件
这些字段是数字的。谢谢。
brg<-as.data.frame(sqlFetch(channel,"Bearing"))
is.data.frame(brg)
varlist<-names(brg)[c(6,8,10,12)]
varlist
pdf(file="brg%d.pdf")
figures<-lapply(varlist,function(x) {
print(plot(substitute(brg[c(1,i)], (list(i = as.name(x))))))
})
更新:感谢您的评论。这是此代码的两个工作版本,带有轴标签(df 从 SQL Server 中读取):
#vers. 1
brg<-as.data.frame(sqlFetch(channel,"Bearing"))
is.data.frame(brg)
dim(brg)
head(brg)
names(brg)<-tolower(names(brg))
names(brg)
varlist<-names(brg)[c(6,8,10,12)]
varlist
pdf(file="brgd.pdf")
for (x in varlist) plot(brg[,1],brg[,x], xlab=names(brg[1]),ylab=as.name (x))
dev.off()
#vers. 2
brg<-as.data.frame(sqlFetch(channel,"Bearing"))
is.data.frame(brg)
dim(brg)
head(brg)
names(brg)<-tolower(names(brg))
names(brg)
varlist<-names(brg)[c(6,8,10,12)]
varlist
pdf(file="brg1.pdf")
figures<-lapply(varlist,function(x) {
(plot(brg[,1],brg[,x], ylab=as.name(x)))
})
dev.off()