2017-11-20 27 views
1

新しいバイナリ列をデータセットに追加しようとすると、特定の要件(下記)を満たす場合は「1」を返し、そうでない場合は「0」を返します。条件の値に基づいて列を作成するR

(x == "1") & (width < 1 | width > 5 | height < 1.5 | height > 3.5) 

どのようにすればいいですか?

+2

(https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example )あなたの質問に答えを得る機会が増えます。 – jsb

+2

正確に何を修正しますか?何らかの誤りがありますか?予期しない出力?正確な内容を明確にするためには、サンプル入力と出力を使って[再現可能な例](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)を提供する必要がありますあなたはしようとしている。 – MrFlick

答えて

0

再現可能な例は、あなたのニーズに正確な答えを得るための最良の方法です。私はifelse(expression, value_if_true, value_if_false)よう..

library(dplyr) 

df2 <- df %>% 
     mutate(new_column = ifelse(width > 5, 1, 0)) 

ifelse作品のような何かをするだろうし、式はTRUEまたはFALSEに解決される必要があります。

これも動作するはず:[最小再現例]含め

df2 <- df %>% 
     mutate(new_column = ifelse(((x == "1") & (width < 1 | width > 5 | height < 1.5 | height > 3.5)), 1, 0) 
関連する問題