[英]Create a non numerical column based on < or >= numerical value of another column in R
我有一个 df$ 列
df$column (-0.5, 1, -0.5, 0.78, -0.78, 0, -1)
我想根据 column2 中的值创建一个值为“<med”或“>=med”的新列
df$column (-0.5, 1, -0.5, 0.78, -0.78, 0, -1)
df$new (<med, >=med, <med, >=med, <med, <med)
我当前的代码,我得到“mutate()”输入问题的错误......输入是if else(..)
df2 <- df %>% mutate(new = ifelse(df$column >=0 ~ ">=med", ifelse(df$column <0 ~ "<med")))
任何帮助总是值得赞赏的
这会做这项工作吗?:
df$column (-0.3678, 1, -0.67, 0.78, 0.78, 0, -1)
df$column2 <- NA
med <- median(df$column)
df$column2[df$column < med] <- "<med"
df$column2[df$column >= med] <- ">=med"
或者以更有效的方式使用ifelse
:
df$column (-0.3678, 1, -0.67, 0.78, 0.78, 0, -1)
df$column2 <- ifelse(df$column < median(df$column), "<med", ">=med")
我不确定,如果我理解正确的话,但这不会起作用吗?
df$new = ifelse(df$column >= 0, ">=med", "<med")
如果您想要 dplyr 解决方案,请尝试:
df_new <- df %>%
mutate(new = if_else(column >= 0, '>=med', '<med'))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.