-1

私はRを初めて使用し、関数に引数を渡すのに数日間問題があります。

byステートメントを含むtapplyを使用する関数があります。私のデータセットはリストデータフレームの形式であるため、関数は次のとおりです。

Means = function(data,by,month){
   data1 = list() 
   for (i in 1:length(month)){
        data1[[i]] = tapply(data[[i]]$var1,by,mean)
   }
   data1
}

by は変数のリスト (引用符なし) である必要がありますが、問題は関数の呼び出しにあり、変数は認識されません:

temp = Means(data,list(data$var2,data$var3))

これは機能しません。問題は、データがリストであり、データ フレームではないことです。それを超える方法はありますか、それともデータを再形成する必要がありますか? 1 つの方法は、関数呼び出しで for ループを実行することですが、関数を使用して多くの記述を節約できないため、むしろ避けたいと思います。

ありがとうございました。

4

1 に答える 1