R数字之和乘以data.frame中的列

时间:2014-12-16 13:29:37

标签: r dataframe

我有500个参数(数字):a1, a2, a3, ... a500

data.frame中有500列:C1, C2, ..., C500

我怎样才能得到总和:R中的a1*C1+a2*C2+....a500*C500,矩阵来自?

由于

1 个答案:

答案 0 :(得分:1)

如果v1是包含参数值的向量,d1data.frame

v1 %*% t(d1)
#    [,1] [,2] [,3] [,4]
#[1,]  180  202  160  183

v1[1]*d1[,1]+v1[2]*d1[,2]+v1[3]*d1[,3]+v1[4]*d1[,4]+v1[5]*d1[,5]
#[1] 180 202 160 183

如果您有a1a2等作为对象名称,则可以使用mget作为@flodel的注释,如果名称遵循特定模式,即来自{{1} } a1

a500

数据

 lst <- mget(paste0("a", 1:5))
 v1 <- unlist(lst)
 v1
 # a1 a2 a3 a4 a5 
 # 1  2  3  4  5