関数内で作成された固定変数といくつかの変数の混合物を使用して、関数内のデータフレームをサブセット化しようとしています (変数名しか知りませんが、事前にベクトル化することはできません)。簡単な例を次に示します。
a<-c(1,2,3,4)
b<-c(2,2,3,5)
c<-c(1,1,2,2)
D<-data.frame(a,b,c)
subbing<-function(Data,GroupVar,condition){
g=Data$c+3
h=Data$c+1
NewD<-data.frame(a,b,g,h)
subset(NewD,select=c(a,b,GroupVar),GroupVar%in%condition)
}
私のアプリケーションでは、関数の外で g と h を計算できないことに注意してください。h の値 (上記のように) に従って選択したい場合もあれば、g を使用したい場合もあります。両方を使用する可能性もありますが、1 を使用してサブセット化できるだけでも素晴らしいでしょう。
subbing(D,GroupVar=h,condition=5)
これは、オブジェクト h が見つからないというエラーを返します。as.formula やあらゆる種類のものを使用してサブセットを修正しようとしましたが、毎回失敗しました。
関数の使いやすさに加えて、サブセットを使用したい理由がもう 1 つあります。
私が実際に取り組んでいる関数では、サブセットを2回使用しています。最初は単純なサブセット関数です。古き良きデータ [colnames()=="g",] を使用するのがおそらく最善であると別のブログが調査したことを以下に指摘しました。提案をありがとう、私は試してみます。
ただし、別の問題があります。いくつかの複雑な設計調査 (パッケージ調査を参照) を扱っているため、関数でサブセット (またはバリエーション) も使用します。[] を使用してグループを選択すると、パラメーターに対して間違った se が取得されるため、これは非常に重要な問題だと思います。
ありがとうございました