[英]R Sum columns by index
我需要找到一種方法來按列索引對列進行求和,我正在研究一個很大的read.csv
文件,我將在這里展示一個問題的樣本; 我想例如從第2到第5和從第6到第7h總和以下矩陣:
a 1 3 3 4 5 6
b 2 1 4 3 4 1
c 1 3 2 1 1 5
d 2 2 4 3 1 3
結果必須是這樣的:
a 11 11
b 10 5
c 7 6
d 8 4
列具有所有不同的名稱
我們可以在列的子集上使用rowSums
,即分別為2:5和6:7,然后使用輸出創建一個新的data.frame
。
data.frame(df1[1], Sum1=rowSums(df1[2:5]), Sum2=rowSums(df1[6:7]))
# id Sum1 Sum2
#1 a 11 11
#2 b 10 5
#3 c 7 6
#4 d 11 4
包dplyr具有完全為此目的而制作的功能:
require(dplyr)
df1 = data.frame(a=c(1,2,3,4,3,3),b=c(1,2,3,2,1,2),c=c(1,2,3,21,2,3))
df2 = df1 %>% transmute(sum1 = a+b , sum2 = b+c)
df2 = df1 %>% transmute(sum1 = .[[1]]+.[[2]], sum2 = .[[2]]+.[[3]])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.