[英]Weighted rowSums of a matrix
您正在尋找矩陣向量乘法。 例如,如果您有一個矩陣:
set.seed(0)
A <- matrix(round(rnorm(9), 1), 3)
# [,1] [,2] [,3]
#[1,] 1.3 1.3 -0.9
#[2,] -0.3 0.4 -0.3
#[3,] 1.3 -1.5 0.0
還有另一個向量x
,這就是您所說的“ ponderation”:
x <- round(rnorm(3), 1)
#[1] 2.4 0.8 -0.8
你可以做
drop(A %*% x)
#[1] 4.88 -0.16 1.92
drop
僅將結果單列矩陣轉換為1D向量。
您可以快速查看一下這是您想要的:
sum(A[1, ] * x)
#[1] 4.88
sum(A[2, ] * x)
#[1] -0.16
sum(A[3, ] * x)
#[1] 1.92
與rowSums()
相比,您還可以將這種計算視為“加權rowSums”。
目前,您似乎更有可能擁有數據框而不是矩陣。 您可以通過as.matrix()
將此數據幀轉換為矩陣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.