2012-03-27 12 views
0

Rで一連のNQQプロットを作成するための簡単なforループを作成しました。各プロットはデータフレームの1つの列に対応しています。ヘッダー名をコールして、対応する列を使用してプロットの名前を付けることができます。forループのヘッダーを呼び出す

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]]) 
} 

現在のフォームでは、このコードはデータフレーム内の最初のデータ行を呼び出します。ヘッダー行を呼び出すにはどうすればよいですか? ご協力いただきありがとうございます。

答えて

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]]) 
} 
+0

優秀!ありがとう、ジェフ。 – Margaret

1

私が続く場合は、

names(data.c)[i]代わりの

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]]) 
} 

列名そのものをループになり、より自己文書をあるかもしれないもう一つの方法data.c[1, i]

for (colnam in names(data.c)[1:8]){ 
    qqnorm(data.c[[colnam]], main=paste("C",colnam, sep="")) 
    qqline(data.c[[colnam]]) 
    } 
関連する問題