1

次のように単純化されたデータフレーム(「毎日」)があります。

デイスポット
1 1
1 2
1 3
1 4
1 5
1 6

要素が「周囲」(スポット 2、3、6) および「上昇」(スポット 1、4、5) である必要がある新しい列、治療が必要です。私はこれを試しました:

daily$treatment<- factor(ifelse(daily$ring==c("1","4","5"), "elevated", "ambient"))  

しかし、それはこの警告を返し、結果は私が必要とするものではありません: 警告メッセージ: 1: is.na(e1) | In is.na(e1) | is.na(e2) : 長いオブジェクトの長さは短いオブジェクトの長さの倍数ではありません 2: In ==.default(daily$ring, c("1", "4", "5")) : 長いオブジェクトの長さは倍数ではありませんオブジェクトの長さを短くする代わりに、私も試しましたが、何もしませんでした:

if (daily$ring==1 | daily$ring==4 | daily$ring==5){
   daily$treatment <- "elevated"
 } else {
   daily$treatment <- "ambient"
 }  

私は何を間違っていますか?ありがとう

4

1 に答える 1

2
daily$treatment <- factor(ifelse(daily$Spot %in% c(1,4,5), "elevated", "ambient"))

daily
##   Day Spot treatment
## 1   1    1  elevated
## 2   1    2   ambient
## 3   1    3   ambient
## 4   1    4  elevated
## 5   1    5  elevated
## 6   1    6   ambient
于 2013-03-07T03:24:36.103 に答える