0

sapply() を使用して、データ フレーム内のすべての変数から qqnorm をプロットしたいと考えています。これは私がこれまでに得たものです:

myfun=function(x) {
  c(qqnorm(x),
    qqline(x)
  )
}

sapply(mydata, myfun)

それは機能しますが、各プロットのタイトルにそれぞれの変数名を付けたいと思います。これはどのように行われますか?

どうもありがとう ;-)

4

3 に答える 3

0

問題は、そのようにする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

于 2013-05-24T08:05:16.620 に答える