我有一个数据框如下。我想计算每行1
的出现次数并插入一个包含该信息的新列:
df1
Cluster a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
1 C1 0 1 1 1 0 1 1 1 1 1 1
2 C2 0 1 1 1 0 1 1 1 1 1 1
3 C3 0 1 0 0 0 0 1 0 0 0 0
4 C4 0 1 1 1 0 1 1 1 1 1 1
5 C5 0 1 1 1 0 1 1 1 1 1 1
我希望结果如下:
df1
Cluster a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 X
1 C1 0 1 1 1 0 1 1 1 1 1 1 9
2 C2 0 1 1 1 0 1 1 1 1 1 1 9
3 C3 0 1 0 0 0 0 1 0 0 0 0 2
4 C4 0 1 1 1 0 1 1 1 1 1 1 9
5 C5 0 1 1 1 0 1 1 1 1 1 1 9
我更喜欢在mutate
dplyr
函数
答案 0 :(得分:5)
我喜欢在select_if
中使用rowSums
来概括链。
修改:如果您需要解决NA值,请使用na.rm
rowSums
选项
df1 %>%
mutate(X = rowSums(select_if(., is.numeric) == 1, na.rm = TRUE))
答案 1 :(得分:1)
可能不一般。但这应该适用于您的情况:
.keyCode