我想基于if / else语句创建一个新变量。我需要对一个新变量进行计算,但男性与女性的计算方法不同。 我知道如何使用mutate编写代码来使用计算来获取新列,但是很难创建基于性别的条件语句。以下是我到目前为止的情况:
这只是将计算应用于男性和女性:
test2 <- mutate(test, FEV1 = 443 - (30*Age) + (23*Height))
这就是我想做的事(我知道它不正确)
test2 <- mutate(test, FEV1 = ifelse( Sex ==1, *equation1*, *equation2*))
提前感谢您的帮助!
答案 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)