【发布时间】:2018-07-26 21:16:13
【问题描述】:
我有一个二进制变量的数据框:
df <-data.frame(a = c(0,1,0,1,0), b = c(1, 1, 0, 0, 1), c = c(1,0,1,1,0))
我想为我预先存在的列的每个可能组合创建一个列:
library(tidyverse)
df %>%
mutate(d = case_when(a==1 & b==1 & c==1 ~ 1),
e = case_when(a==1 & b==1 & c!=1 ~ 1),
f = case_when(a==1 & b!=1 & c==1 ~ 1),
g = case_when(a!=1 & b==1 & c==1 ~ 1))
但我的真实数据集有太多列,无法在没有函数或循环的情况下执行此操作。有没有一种简单的方法可以在 R 中做到这一点?
【问题讨论】:
-
你想给新列什么样的标签?例如。按字母顺序?