根据 dplyr 中两个不同列的两个条件在 Dataframe 中添加新列
Adding a new column in a Dataframe based on two conditions from two different columns in dplyr
我有一个包含两行的 data.frame:car
是汽车型号,num
是我在停车场观察到的该型号汽车的数量。
使用 dplyr::mutate()
,我想添加另一列,pop_car
(流行汽车),如果它有 num > 1
,它会重复汽车品牌名称,如果有,则显示 "Other"
num = 1
.
car <- c("Audi", "Toyota", "Nissan", "Ford", "Hyundai", "Mercedes")
num <- c(5,3,1,4,4,1)
df <- data.frame(car, num)
df
# car num
# 1 Audi 5
# 2 Toyota 3
# 3 Nissan 1
# 4 Ford 4
# 5 Hyundai 4
# 6 Mercedes 1
我正在尝试编写代码以使数据框看起来像这样:
car num pop_car
Audi 5 Audi
Toyota 3 Toyota
Nissan 1 Other
Ford 4 Ford
Hyundai 4 Hyundai
Mercedes 1 Other
到目前为止我已经试过了
df |>
mutate(pop_car = df$car if num >1) |>
if_else(pop_car = other if num == 1 )
此外,在回答时请假装这是一个更长的数据框,这意味着避免在函数中写下汽车品牌
require(dplyr)
mutate(df, pop_car = ifelse(num > 1, pop_car, "Other"))
我有一个包含两行的 data.frame:car
是汽车型号,num
是我在停车场观察到的该型号汽车的数量。
使用 dplyr::mutate()
,我想添加另一列,pop_car
(流行汽车),如果它有 num > 1
,它会重复汽车品牌名称,如果有,则显示 "Other"
num = 1
.
car <- c("Audi", "Toyota", "Nissan", "Ford", "Hyundai", "Mercedes")
num <- c(5,3,1,4,4,1)
df <- data.frame(car, num)
df
# car num
# 1 Audi 5
# 2 Toyota 3
# 3 Nissan 1
# 4 Ford 4
# 5 Hyundai 4
# 6 Mercedes 1
我正在尝试编写代码以使数据框看起来像这样:
car num pop_car
Audi 5 Audi
Toyota 3 Toyota
Nissan 1 Other
Ford 4 Ford
Hyundai 4 Hyundai
Mercedes 1 Other
到目前为止我已经试过了
df |>
mutate(pop_car = df$car if num >1) |>
if_else(pop_car = other if num == 1 )
此外,在回答时请假装这是一个更长的数据框,这意味着避免在函数中写下汽车品牌
require(dplyr)
mutate(df, pop_car = ifelse(num > 1, pop_car, "Other"))