私は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 ループを実行することですが、関数を使用して多くの記述を節約できないため、むしろ避けたいと思います。
ありがとうございました。