Message-ID: <871ue7y0uq.wl%neal@walfield.org>
Date: 2012-12-30T16:13:33Z
From: Neal H. Walfield
Subject: How to multiple the vector and variables from dataframe
In-Reply-To: <618a2c3d.cf6e.13beb5971b3.Coremail.laomeng_3@163.com>
At Sun, 30 Dec 2012 18:26:45 +0800 (CST),
meng wrote:
>
> hi all:
> Here's a dataframe(dat) and a vector(z):
>
> dat:
> x1 x2 x3
> 0.2 1.2 2.5
> 0.5 2 5
> 0.8 3 6.2
>
> > z
> [1] 10 100 100
>
> I wanna do the following:
> 10*x1,100*x2,1000*x3
>
> My solution is using the loop for z and dat(since the length of z is the same as ncol of dat),which is tedious.
> I wanna an efficient solution to do it .
You could convert the data frame to a matrix:
> dat=data.frame(x1=1:3, x2=11:13)
> dat
x1 x2
1 1 11
2 2 12
3 3 13
> as.matrix(dat) * c(3, 2)
x1 x2
[1,] 3 22
[2,] 4 36
[3,] 9 26
Neal