使用if函数创建新变量mtcars
一般来说,我对R和编码非常陌生 我想在mtcars数据框中创建一个名为“x”的新变量。如果变速箱是自动的,则取mpg和disp之和。如果变速器为手动变速器,则取mpg和cyl之和 我该怎么做?使用if函数创建新变量mtcars,r,R,一般来说,我对R和编码非常陌生 我想在mtcars数据框中创建一个名为“x”的新变量。如果变速箱是自动的,则取mpg和disp之和。如果变速器为手动变速器,则取mpg和cyl之和 我该怎么做? 谢谢大家! 一种方法是使用dplyr::mutate()和dplyr::if_else()。像这样: library(dplyr) mtcars %>% mutate(x = if_else( am == 0, mpg + disp, mpg + cyl ))
谢谢大家! 一种方法是使用
dplyr::mutate()
和dplyr::if_else()
。像这样:
library(dplyr)
mtcars %>%
mutate(x = if_else(
am == 0,
mpg + disp,
mpg + cyl
))
或base
R解决方案,无需安装其他软件包:
mtcars$x <-
ifelse(mtcars$am == 0,
mtcars$mpg + mtcars$disp,
mtcars$mpg + mtcars$cyl
)
mtcars
mtcars$xmtcars$x到目前为止你试过什么吗?尽管这是一个非常简单的问题,但看看您在哪里得到了变换(mtcars,x=mpg+ifelse(am==0,disp,cyl))