私は次のようなデータセットを持っています
data<-c(0,1,2,3,4,2,3,1,4,3,2,4,0,1,2,0,2,1,2,0,4)
frame<-as.data.frame(data)
このデータフレーム内に新しい変数を作成したいと思います。列「data」が2以上の数を報告する場合、その行に「2」を含める必要があり、1または0(たとえば、最初の2つの観測値)がある場合は、新しい変数にその観察のための「1」。
私は次のコードを使用してこれを行おうとしています:
frame$twohouses<- if (any(frame$data>=2)) {frame$twohouses=2} else {frame$twohouses=1}
ただし、これらの3行のスクリプトを実行すると、「twohouses」列のすべての観測値は2でコード化されます。ただし、それらの多くは1でコード化する必要があります。
だから私の質問:else行またはスクリプトで何が間違っているのですか?または、これを行う別の方法はありますか。
私の質問はこれに似ています: Rの因子にifelseを使用する
しかし、誰もその質問に答えていません。
よろしくお願いします!