我写了一个快速for循环来在R中制作一系列NQQ图。每个图对应一个数据帧的一列。我想调用标题名称,以便我可以使用它们对应的列来命名图。
par(mfrow=c(1,8))
for (i in 1:8){
qqnorm(data.c[[i]],main=paste("C",data.c[1,i],sep=""))
qqline(data.c[[i]])
}
在当前形式中,此代码调用我的数据帧中的第一行数据。如何让它调用标题行? 在此先感谢您的帮助。
答案 0 :(得分:2)
如果我正确理解您的问题,请使用colnames()
函数获取列的名称,而不是第一行。
par(mfrow=c(1,8))
for (i in 1:8){
qqnorm(data.c[[i]],main=paste("C",colnames(data.c[i]),sep=""))
qqline(data.c[[i]])
}
答案 1 :(得分:2)
par(mfrow=c(1,8))
for (i in 1:8){
qqnorm(data.c[[i]],main=paste("C",names(data.c)[i], sep=""))
qqline(data.c[[i]])
}
另一种可能更自我记录的方法是循环遍历列名称:
for (colnam in names(data.c)[1:8] ){
qqnorm(data.c[[colnam]], main=paste("C",colnam, sep=""))
qqline(data.c[[colnam]])
}
答案 2 :(得分:1)
如果我关注,
names(data.c)[i]
代替data.c[1, i]