使用条件If / else语句和Mutate

时间:2017-03-28 03:50:39

标签: r if-statement dplyr

我想基于if / else语句创建一个新变量。我需要对一个新变量进行计算,但男性与女性的计算方法不同。 我知道如何使用mutate编写代码来使用计算来获取新列,但是很难创建基于性别的条件语句。以下是我到目前为止的情况:

这只是将计算应用于男性和女性:

test2 <- mutate(test, FEV1 = 443 - (30*Age) + (23*Height))

这就是我想做的事(我知道它不正确)

test2 <- mutate(test, FEV1 = ifelse( Sex ==1, *equation1*, *equation2*))

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我不确定是什么问题,但你几乎就在那里。怎么样:

library("dplyr")    
df <- data.frame(sex = c("M", "F", "M", "F"))
df$test2 <- mutate(df, var = ifelse(sex == "M", runif(1), 2))

您也可以直接执行此操作(不使用mutate)。

df$test3 <- ifelse( df$sex == "M", runif(1), 2)