【发布时间】:2023-01-13 18:25:09
【问题描述】:
例如,我的数据集中有 4 个变量
treatment_alone = c("Yes", "No", "Yes", "No", "No", "No", "No", "No")
treatment_and_fertilizer = c("No", "Yes", "No", "Yes", "No", "No", "No", "No")
treatment_and_manure = c("No", "No", "No", "No", "Yes", "No", "Yes", "No")
treatment_and_composte = c("No", "No", "No", "No", "No", "Yes", "No", "Yes")
data_test = data.frame(treatment_alone, treatment_and_fertilizer, treatment_and_manure,
treatment_and_composte)
我想创建一个新列,其中所有这些变量都在一列中作为分类变量,方法是将它们的“否”值替换为其他列的“是”值:例如,
treatment (treatment_alone, treatment_and_fertilizer, treatment_and_manure, treatment_and_compost)
我尝试了以下代码使其工作
df = data_test %>%
treatment_alone = ifelse(treatment_alone == "Yes","treatment alone",""),
treatment_and_fertilizer = ifelse(treatment_and_fertilizer == "Yes","treatment and fertilizer",""),
treatment_and_manure = ifelse(treatment_and_manure == "Yes","treatment and manure",""),
treatment_and_compost = ifelse(treatment_and_compost == "Yes","treatment and compost","")
df = data_test %>%
mutate(treatment = coalesce(treatment_alone,treatment_and_fertilizer, treatment_and_manure, treatment_and_compost))
但它没有用。我还尝试按如下方式替换两列中的值
df = data_test %>%
mutate(treatment = coalesce(treatment_alone,treatment_and_fertilizer))
也没有用。有谁知道如何通过用“是”替换“否”值来创建这样的列?
【问题讨论】:
-
您能否编辑您的问题以提供可重现的示例数据?