2014-02-08 63 views
-1

我有一个5列矩阵,我乘以5行向量。每列应乘以向量中的相应元素。我拥有data.frame和matrix两种信息 - 不确定它是否适合矩阵运算符。如何乘以矢量分量的列?

这是今天花费至少6小时的最后几分钟,所以我希望这个例子有意义。请原谅这个问题的简单性,我现在想不出来,而且准时不足。

Ex。

 
Column 1 has 252 rows. 
Vector = [a,b,c,d,e]. 
Column 1[1:252] %*% Vector[a] 

Column 2 has 252 rows. 
Column 2[1:252] %*% Vector [b] 

Column 4 has 194 rows of "NA" or "0". #I don't know if this changes anything, but thought it useful info. 
Column 4[1:252] %*% Vector[d] 
+1

请[包括重复的例子(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example),并清楚说明你所期望的作为一个输出,你会得到什么(例如,出现任何错误?) – nico

+0

这不是R代码。用R代码创建一个小例子。 –

回答

0
m<-matrix(runif(100),ncol=5) #your matrix 
r<-c(1:5)    #your vector 
t(apply(m,1,function(x)x*r)) 
0

这应该是比apply更快。它依赖于矢量回收。

m<-matrix(rep(1,10),ncol=5) 
#  [,1] [,2] [,3] [,4] [,5] 
#[1,] 1 1 1 1 1 
#[2,] 1 1 1 1 1 
r<-c(1:5) 
t(t(m)*r) 
#  [,1] [,2] [,3] [,4] [,5] 
#[1,] 1 2 3 4 5 
#[2,] 1 2 3 4 5