当需要满足多个条件时,可以使用case_when函数来创建新列。
case_when函数是一种条件语句,它允许我们根据不同的条件为数据框创建新的列。它的语法如下:
new_column <- case_when(
condition1 ~ value1,
condition2 ~ value2,
condition3 ~ value3,
...
TRUE ~ default_value
)
在这个语法中,我们可以根据需要添加多个条件和对应的值。每个条件都由一个波浪线(~)分隔,并且在最后一个条件之后需要添加一个默认值。如果没有任何条件满足,将使用默认值。
下面是一个示例,展示了如何使用case_when函数创建新列:
library(dplyr)
# 创建一个示例数据框
df <- data.frame(
score = c(80, 90, 70, 60, 85)
)
# 使用case_when函数创建新列grade,根据分数划分等级
df <- df %>%
mutate(
grade = case_when(
score >= 90 ~ "A",
score >= 80 ~ "B",
score >= 70 ~ "C",
score >= 60 ~ "D",
TRUE ~ "F"
)
)
# 打印结果
print(df)
在上面的示例中,我们根据分数划分了不同的等级,并将结果存储在新的列"grade"中。根据分数的不同条件,我们使用case_when函数为每个分数赋予了相应的等级。
这是一个简单的示例,展示了如何使用case_when函数创建新列。根据具体的需求,我们可以根据不同的条件和值来创建更复杂的逻辑。
领取专属 10元无门槛券
手把手带您无忧上云