在R中,可以使用case_when
函数来根据其他列的条件添加新列。case_when
函数是dplyr
包中的一个函数,用于根据多个条件进行逻辑判断和赋值。
下面是一个完善且全面的答案:
在R中,使用case_when
函数可以根据其他列的条件添加新列。case_when
函数是dplyr
包中的一个函数,用于根据多个条件进行逻辑判断和赋值。
case_when
函数的语法如下:
new_column <- case_when(
condition1 ~ value1,
condition2 ~ value2,
...
conditionN ~ valueN,
TRUE ~ default_value
)
其中,condition1
、condition2
等是逻辑条件,可以是任何返回逻辑值的表达式。value1
、value2
等是对应条件为真时,新列应该赋予的值。default_value
是当所有条件都不满足时,新列应该赋予的默认值。
下面是一个示例,假设我们有一个数据框df
,包含三列A
、B
和C
,我们想根据A
和B
的值来添加一个新列D
:
library(dplyr)
df <- data.frame(A = c(1, 2, 3),
B = c(4, 5, 6),
C = c(7, 8, 9))
df <- df %>%
mutate(D = case_when(
A > B ~ "A > B",
A < B ~ "A < B",
TRUE ~ "A = B"
))
在上面的示例中,我们使用case_when
函数根据A
和B
的值来判断新列D
的取值。如果A
大于B
,则D
的值为"A > B";如果A
小于B
,则D
的值为"A < B";如果A
等于B
,则D
的值为"A = B"。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云