sapply() を使用して、データ フレーム内のすべての変数から qqnorm をプロットしたいと考えています。これは私がこれまでに得たものです:
myfun=function(x) {
c(qqnorm(x),
qqline(x)
)
}
sapply(mydata, myfun)
それは機能しますが、各プロットのタイトルにそれぞれの変数名を付けたいと思います。これはどのように行われますか?
どうもありがとう ;-)
問題は、そのようにするnames
と、関数に渡されず、名前のないリスト要素のみが渡されることです。関数を少し変更し、インデックスを渡すだけで、オブジェクト全体を操作する必要があります (つまり、暗黙的に for ループを実行し、イテレータを使用します)。
data(swiss)
myfun=function(x, data) {
c(qqnorm(data[[x]], main = colnames(data)[x]),
qqline(data[[x]])
)
}
lapply(1:ncol(swiss), myfun, data = swiss)
また、関数を変更して、データセットを例としてlapply
使用します。swiss