2017-09-28 11 views
0

私は以下のデータフレームを使用している場合場合は、元のデータフレームに基づいて結果を返すに関する他の機能の問題

df <- data.frame(name = c("sam", "ken", "mary", "kate"), 
       state = c("dead", "dead", "alive", "dead")) 

私は人が死ぬ場合は1に等しく、新しいバイナリ変数の名前の成功を作成したいと人々が生存すれば0になる。このように:

df <- data.frame(name = c("sam", "ken", "mary", "kate"), 
       state = c("dead", "dead", "alive", "dead"), 
       result = c(0, 0, 1, 0)) 

どのように私はifelse機能を使用してRで称賛を書き込むことができますか?どうもありがとう!

+1

'as.numeric(DFます$ V2 == "生きています")' –

答えて

1

がRにデータ変換の詳細については、私はhttps://www.tidyverse.org/learn/

をお勧めします。具体的http://r4ds.had.co.nz/transform.html


df <- data.frame(name = letters[1:4], state = c("dead", "dead", "alive", "dead")) 

library(dplyr) 
#> 
#> Attaching package: 'dplyr' 
#> The following objects are masked from 'package:stats': 
#> 
#>  filter, lag 
#> The following objects are masked from 'package:base': 
#> 
#>  intersect, setdiff, setequal, union 

df %>% 
    mutate(result = if_else(state == "alive", 1, 0)) 
#> name state result 
#> 1 a dead  0 
#> 2 b dead  0 
#> 3 c alive  1 
#> 4 d dead  0