簡體   English   中英

R按索引求和列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM