【发布时间】:2022-06-15 23:40:17
【问题描述】:
我有一个如下所示的数据集:
data <- data.frame(Subject = c("A","B","C"),
Col1 = c("Yes", "Yes", "No"),
Col2 = c("Yes", "Yes", "Yes"),
Col3 = c("Yes", "Yes", "Yes")
)
print(data)
Subject Col1 Col2 Col3
1 A Yes Yes Yes
2 B Yes Yes Yes
3 C No Yes Yes
我想总结是否所有列都等于“是”。如果是,则新列是“是”,如果其中一列是NA 或“否”,那么摘要列是“否”。
我当前的代码看起来像这样,但我觉得有一种更简单的方法:
data %>%
group_by(Subject) %>%
summarize(Summary = case_when(
Col1 == "Yes & Col2 == "Yes & Col3 == "Yes ~ "Yes",
Col1 != "Yes & Col2 != "Yes & Col3 != "Yes ~ "No",
TRUE ~ NA
【问题讨论】: