データ フレーム内の他の 2 つ (またはそれ以上) の変数を条件とする新しい変数をデータ フレーム内に生成しようとしています。R のループ関数 (つまり、lapply、sapply など) は、この目的に役立ち、効率的であると私は信じています。ただし、私のアプローチでは何かが正しくなく、何が原因なのかわかりません。
M <- data.frame(x=c("A", "A", "B", "B"), y=c(1,2,1,2))
x == "A"
このデータ フレームを使用して、との両方が TRUE である論理値を含む新しい列 z を生成したいと思いますy == 1
。次のコードは、ここで思いつくことができる最高のものですが、最初の条件のみを評価しているようです。
M$z <- sapply(M$x, function(x,y) if((x == "A") && (y == 1)) T else F, M$y)
- このコードを目的に合わせて修正できますか?
- おそらく他のループ関数を使用して、Rでこれを行うより良い方法はありますか?