Dear Mr Holtman Sir, Thanks a lot for your great solution. This certainly is helping me achieve what I need to get. However, I shall be hugely thankful to you if you can guide me in one respect.
Sir, you have used following commands to assign values to x and y. > x <- list(40, c(80,160), c(160,80,400)) > y <- list(10, c(10,30), c(5,18,20)) > z <- c(1,2,3) But Sir, the problem is these values are basically outputs of some other process which I am running and chances are these will vary. Sir, it will be a great help if you can guide me to convert the output (which I am getting) X [[1]] [1] 40 [[2]] [1] 80 160 [[3]] [1] 160 80 400 to what you have suggested x <- list(40, c(80,160), c(160,80,400)) So, in that case once I get output in my format, I will convert that output as provided by you. I apologize for taking the liberty of writing to you, but I shall be really grateful to you, as I have just started getting the feel of 'R' and I know I need to take lots of efforts to begin with. Thanks and eagerly waiting for your guidance. Amelia Vettori --- On Fri, 10/12/10, jim holtman <jholt...@gmail.com> wrote: From: jim holtman <jholt...@gmail.com> Subject: Re: [R] Adding numbers in Outputs To: "Amelia Vettori" <amelia_vett...@yahoo.co.nz> Cc: r-help@r-project.org Received: Friday, 10 December, 2010, 1:43 PM try this: > x <- list(40, c(80,160), c(160,80,400)) > y <- list(10, c(10,30), c(5,18,20)) > z <- c(1,2,3) > mapply(function(a1,a2,a3){ + a3 * sum(a1 * a2) + } + , x + , y + , z + ) [1] 400 11200 30720 On Fri, Dec 10, 2010 at 5:41 AM, Amelia Vettori <amelia_vett...@yahoo.co.nz> wrote: > two OutputsHello! > > I am Amelia from Auckland and work for a bank. I am new to R and I have > started my venture with R just a couple of weeks back and this is my first > mail to R-forum. I need following assistance > > Suppose my R code generates following outputs as > > >> X > [[1]] > [1] 40 > > [[2]] > [1] 80 160 > > [[3]] > [1] 160 80 400 > > >> Y > > [[1]] > > [1] 10 > > > > [[2]] > > [1] 10 30 > > > > [[3]] > > [1] 5 18 20 > > and suppose > > Z = c(1, 2, 3) > > I need to perform the calculation where I will be multiplying corresponding > terms of X and Y individually and multiplying their sum by Z and store these > results in a dataframe. > > I.e. I need to calculate > > (40*10) * 1 # (first element of X + First > element of Y) * Z[1] = 400 > > ((80*10)+(160*30)) * 2 # 2 row of X and 2nd row of Y = 11200 > > ((160*5)+(80*18)+(400*20)) * 3 # 3rd row of X and 3 row of Y and Z[3] = > 30720 > > > > So the final output should be > > 400 > 11200 > 30720 > > > One way of doing it is write R code for individual rows and > arrive at the result e.g. > > ([[X]][1]*[[Y]][1])*1 will result in 400. However, I was just trying to know > some smart way of doing it as there could be number of rows and writing code > for each row will be a cumbersome job. So is there any better way to do it? > > Please guide me. > > I thank you in advance. > > Thanking > all > > Amelia > > > > > > > > > > > > > > > > [[alternative HTML version deleted]] > > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > > -- Jim Holtman Data Munger Guru What is the problem that you are trying to solve? [[alternative HTML version deleted]]
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.