フィールドを特定のデータフレームに追加し、それを同じデータフレーム内の既存のフィールドと同じに設定する場合異なる(既存の)フィールドの条件。データフレームの値を新しいフィールドが別のフィールドと同じになるようにするR
is.even <- function(x) x %% 2 == 0
df <- data.frame(a = c(1,2,3,4,5,6),
b = c("A","B","C","D","E","F"))
df$test[is.even(df$a)] <- as.character(df[is.even(df$a), "b"])
> df
a b test
1 1 A NA
2 2 B B
3 3 C NA
4 4 D D
5 5 E NA
6 6 F F
しかし、私はそれはこれよりもずっと良く行うことができます。この気持ちを持っている:
私は、この作品を知っています。
'ifelse'を見上げて。それはまさにあなたが望むものでなければなりません。 – shreyasgm
私は@shreyasgmの提案を詳しく説明します: 'df $ test < - ifelse(is.even(df $ a)、as.character(df $ b)、NA)' –