使用R数据帧的总行值 - 其中行中的每个值都根据条件进行评估
问题描述:
我有一个数据帧20,000个观察值和171个变量。每行中的每个值都是+1,0或-1。使用R数据帧的总行值 - 其中行中的每个值都根据条件进行评估
我希望能够总结(或计数)1场的每一行的数量和使用这个号码可变数量172
我研究这一点,但无法找到一个解决方案。
rowsum()是不适合作为我不能使它条件等rowsum(DF = 1)
同样是与应用的情况下。例如,下面的代码将无法正常工作:
apply(df, 1, sum(=1)).
有没有一种方法来计算某一行,其中仅该行中符合条件的这些值求和的条件的总和。
答
总是最好的,如果你可以提供人们可以使用的数据。例如:
library(dplyr)
df <- data_frame(col1 = sample(c(-1, 0, 1), 10, replace = TRUE),
col2 = sample(c(-1, 0, 1), 10, replace = TRUE),
col3 = sample(c(-1, 0, 1), 10, replace = TRUE),
col4 = sample(c(-1, 0, 1), 10, replace = TRUE))
这在我的情况给我们:
col1 col2 col3 col4
1 1 1 0 0
2 -1 0 -1 -1
3 0 -1 1 0
4 -1 -1 0 -1
5 -1 1 1 1
6 0 0 0 1
7 -1 -1 -1 1
8 1 -1 1 -1
9 0 -1 -1 1
10 0 1 1 -1
现在就可以轻松实现你要寻找的是这样的:
(df <- df %>% mutate(sums = rowSums(df == 1)))
col1 col2 col3 col4 sums
1 1 1 0 0 2
2 -1 0 -1 -1 0
3 0 -1 1 0 1
4 -1 -1 0 -1 0
5 -1 1 1 1 3
6 0 0 0 1 1
7 -1 -1 -1 1 1
8 1 -1 1 -1 2
9 0 -1 -1 1 1
10 0 1 1 -1 2
'rowSums(DF == 1)' – Sotos