我有一个数据集,其中一堆字符列只有一个值,即列本身的名称。每一行都是一个观察值,我想计算每一行有多少这样的列。
例如:
id multi_value_col single_value_col_1 single_value_col_2
1 A single_value_col_1
2 D2 single_value_col_1 single_value_col_2
3 Z6 single_value_col_2
我想要的是添加一个列,该列计算每行有多少个单值列。如下所示:
id multi_value_col single_value_col_1 single_value_col_2 count
1 A single_value_col_1 1
2 D2 single_value_col_1 single_value_col_2 2
3 Z6 single_value_col_2 1
我最初的想法是使用mutate_if
和n_distinct
,将字符串替换为TRUE
,然后可以在带有rowSums的mutate
中使用:
data %>%
mutate_if(~n_distinct(.) == 1, TRUE, .) %>%
mutate(count = rowSums???)
然而,我不能让mutate_if
工作,我也不确定rowSums命令--有没有跨行的sum_if真正的操作?
https://stackoverflow.com/questions/56763524
复制相似问题