使用R数据帧的总行值 - 其中行中的每个值都根据条件进行评估

问题描述:

我有一个数据帧20,000个观察值和171个变量。每行中的每个值都是+1,0或-1。使用R数据帧的总行值 - 其中行中的每个值都根据条件进行评估

我希望能够总结(或计数)1场的每一行的数量和使用这个号码可变数量172

我研究这一点,但无法找到一个解决方案。

rowsum()是不适合作为我不能使它条件等rowsum(DF = 1)

同样是与应用的情况下。例如,下面的代码将无法正常工作:

apply(df, 1, sum(=1)). 

有没有一种方法来计算某一行,其中仅该行中符合条件的这些值求和的条件的总和。

+1

'rowSums(DF == 1)' – Sotos

总是最好的,如果你可以提供人们可以使用的数据。例如:

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