根据 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"))