22

特定の列の合計を計算してから、この合計をすべての行に適用したいと思います。残念ながら、私は最初のステップにしか到達できません。各行でそれを実現するにはどうすればよいですか?Rはループを必要としないことを私は知っています。良いアプローチは何ですか?

私のマトリックス(zscore)は次のようになります。

   a    b    c    t   y
1  3    4    7    7   4

2  4    56   6    6   4

3  3    3    2    1   7

4  3    88   9    9   9

ここで、いくつかの列に基づいて、各行の行の合計を計算したいと思います。1つの行については、次のようになります。

f1 <- sum(zscore[1,1:2], zscore[1,3], zscore[1,5])

各行に対して今それを行うにはどうすればよいですか?

4

3 に答える 3

54

あなたはこのようなことをすることができます:

summed <- rowSums(zscore[, c(1, 2, 3, 5)])
于 2012-11-20T21:37:55.460 に答える
1

すべての個々の行の合計は、dplyrの行ごとの操作を使用して実行することもできます(col1, col2, col3行ごとの合計が計算される3つの選択された列を定義します)。

library(tidyverse)

df <- df %>% 
    rowwise() %>% 
    mutate(rowsum = sum(c(col1, col2,col3)))
于 2020-10-26T08:23:06.240 に答える
0

NAがない場合は、これを適用できます

suma.zscore = (zscore$a + zscore$c + zscore$t + zscore$y)
于 2016-09-21T16:13:09.807 に答える