在R中,可以使用多种方法根据行值组合创建一个新的变量(列)。以下是几种常见的方法:
df$C <- ifelse(df$A == "value1" & df$B == "value2", "combination1",
ifelse(df$A == "value3" & df$B == "value4", "combination2",
"other combination"))
在上述代码中,如果A的值为"value1"且B的值为"value2",则新变量C的值为"combination1";如果A的值为"value3"且B的值为"value4",则新变量C的值为"combination2";否则,新变量C的值为"other combination"。
df$C <- apply(df, 1, function(x) {
if (x["A"] == "value1" & x["B"] == "value2") {
return("combination1")
} else if (x["A"] == "value3" & x["B"] == "value4") {
return("combination2")
} else {
return("other combination")
}
})
在上述代码中,对于数据框df的每一行,使用匿名函数判断A和B的值,并根据条件返回相应的值。
library(dplyr)
df <- df %>%
mutate(C = case_when(
A == "value1" & B == "value2" ~ "combination1",
A == "value3" & B == "value4" ~ "combination2",
TRUE ~ "other combination"
))
在上述代码中,使用case_when()函数根据条件设置新变量C的值。如果A的值为"value1"且B的值为"value2",则新变量C的值为"combination1";如果A的值为"value3"且B的值为"value4",则新变量C的值为"combination2";否则,新变量C的值为"other combination"。
以上是根据行值组合创建一个新的变量(列)的几种常见方法。根据具体的需求和数据结构,可以选择适合的方法来实现。
领取专属 10元无门槛券
手把手带您无忧上云