An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20120829/d4256d5a/attachment.pl>
Help on not matching object lengths
4 messages · Andras Farkas, PIKAL Petr, William Dunlap
Hi I am not sure if I understand it correctly but maybe a <-seq(0,8, by = sign(8-0)*0.25) b <-seq(8,16, by = sign(16-8)*0.25) const <-runif(1000,50,60) const <- rep(const, 33) d <-exp(-const*a)+exp(-const*b) dim(d) <- c(33,1000) gives you matrix 33x1000 Maybe you can simplyfy the example to 10 columns and 3 rows and show better what do you want to do with it. Regards Petr
-----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r- project.org] On Behalf Of Andras Farkas Sent: Wednesday, August 29, 2012 12:25 PM To: r-help at r-project.org Subject: [R] Help on not matching object lengths Dear All I have the following code set up: Code #1 a <-matrix(seq(0,8, by = sign(8-0)*0.25)) b <-matrix(seq(8,16, by = sign(16-8)*0.25)) c <-runif(1000,50,60) d <-exp(-c*a)+exp(-c*b) This will give me the obvious error message of lengths not matching.?What I am trying to do here is to have 33 rows?x 1000 columns?d values calculated in total. As an eaxmple for visual, this is what it supposed to look like where d1,d2,d3 and so on up to d1000 are calculated using the equation and the respective a and b values: Code #2 d1 <-runif(33,10,20) d2 <-runif(33,15,20) d3 <-runif(33,18,20) e <-cbind(a,b,d1,d2,d3) Next, I would like to generate 33 x 1000 newd values again using newa and newb values and the same c values, eg: Code #3 newa <-matrix(seq(16,24, by = sign(24-16)*0.25)) newb <- matrix(seq(24,36, by = sign(36-24)*0.25)) c <-runif(1000,50,60) newd <- exp(-c*newa)+exp(-c*newb) Next I would like to?sum d(ith) and newd(ith) according to their by sequence location in the matrices?(or whatever type of objects we are working at this point) based on?a and newa?. As an example, Code #1?should generate a of 0,0.25,0.5, and so on with respective d for the a value 0, 0.25, 0.5, and so on..., while?Code #3?should generate newa of 16,16.25,16.5, and so on with respective newd for the a value 0, 0.25, 0.5, and so on.....?In the next?object generated,?we should again have 33 rows?x 1000 columns with values,?the first row in the first column would have the result of (d at 0+newd at 16), the second row would have the result of (d at 0.25+newd at 16.25), while?the 3rd row would have the result of (d at 0.5+newd at 16.5), and so on... Last, after the sums established, I would need to find the value/s that are >x in each column of the latest object, and multiply by 0.25 to generate a list or row 34 for that matter for each 1000 columns, than in this row or list I would need to?find all values that are?>y. I apologize for the lengthy question, and all of your help would be greatly apreciated, sincerely, andras [[alternative HTML version deleted]]
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20120829/a010576a/attachment.pl>
y <-matrix(1:50,ncol=5) x <- rowSums(y > 13) # sum of logicals counts number of TRUEs x # your first 'x':
[1] 3 3 3 4 4 4 4 4 4 4
sum(0.25 * x > 0.8) # sum of logicals counts number of TRUEs
[1] 7 Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com
-----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Andras Farkas Sent: Wednesday, August 29, 2012 9:19 AM To: PIKAL Petr; r-help at r-project.org Subject: Re: [R] Help on not matching object lengths Petr, thank you very much for the help,?I think this will work...?It seems like this will generate 33 columns and 1000 rows with calculated values, which is fine. I also simply used the function x=d + dnext, which generated another 33 columns and 1000 rows object with the cell contents added up. In my example moving forward from here I will cut down the sample size as you suggested, so using the following code we will get a matrix of 10 rows and 5 columns: y <-matrix(1:50,ncol=5) In the next step i would need to find in each row the values that are greater then a?pre- specified value?(any random number can be picked for the purpose of presenting the example, lets pick the number 13). I do not actually need to know what the value is, I would just need to know the total number of cells in a row?which contain values of >?13 out of the 5 of them per row, then I need to multiply that count by 0.25 for each row and place them in an object , lets call that x (this could also be a matrix perhaps with 1 column). 1. So in the 1st row of y in my example this would be 3, 2nd row is 3, third is 3, 4th is 4, 5th is 4, and so on... 2. let's multiply them with 0.25 to create x?: so 1st is 3*0.25, 2nd is 3*0.25, 3rd is 3*0.25, 4th is 4*0.25, 5th is 4*0.25, and so on.... finally, I would need to find the total number of cells in this newly created x that are greater then z, lets make that z = 0.8. based on the example data matrix of y this final number should be 7. ?Would you mind sharing?your input on how?to accomplish?that? thanks, Andras
________________________________ From: PIKAL Petr <petr.pikal at precheza.cz> roject.org> Sent: Wednesday, August 29, 2012 11:11 AM Subject: RE: [R] Help on not matching object lengths Hi I am not sure if I understand it correctly but maybe a <-seq(0,8, by = sign(8-0)*0.25) b <-seq(8,16, by = sign(16-8)*0.25) const <-runif(1000,50,60) const <- rep(const, 33) d <-exp(-const*a)+exp(-const*b) dim(d) <- c(33,1000) gives you matrix 33x1000 Maybe you can simplyfy the example to 10 columns and 3 rows and show better what do you want to do with it. Regards Petr -----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r- project.org] On Behalf Of Andras Farkas Sent: Wednesday, August 29, 2012 12:25 PM To: r-help at r-project.org Subject: [R] Help on not matching object lengths Dear All I have the following code set up: Code #1 a <-matrix(seq(0,8, by = sign(8-0)*0.25)) b <-matrix(seq(8,16, by = sign(16-8)*0.25)) c <-runif(1000,50,60) d <-exp(-c*a)+exp(-c*b) This will give me the obvious error message of lengths not matching.?What I am trying to do here is to have 33 rows?x 1000 columns?d values calculated in total. As an eaxmple for visual, this is what it supposed to look like where d1,d2,d3 and so on up to d1000 are calculated using the equation and the respective a and b values: Code #2 d1 <-runif(33,10,20) d2 <-runif(33,15,20) d3 <-runif(33,18,20) e <-cbind(a,b,d1,d2,d3) Next, I would like to generate 33 x 1000 newd values again using newa and newb values and the same c values, eg: Code #3 newa <-matrix(seq(16,24, by = sign(24-16)*0.25)) newb <- matrix(seq(24,36, by = sign(36-24)*0.25)) c <-runif(1000,50,60) newd <- exp(-c*newa)+exp(-c*newb) Next I would like to?sum d(ith) and newd(ith) according to their by sequence location in the matrices?(or whatever type of objects we are working at this point) based on?a and newa?. As an example, Code #1?should generate a of 0,0.25,0.5, and so on with respective d for the a value 0, 0.25, 0.5, and so on..., while?Code #3?should generate newa of 16,16.25,16.5, and so on with respective newd for the a value 0, 0.25, 0.5, and so on.....?In the next?object generated,?we should again have 33 rows?x 1000 columns with values,?the first row in the first column would have the result of (d at 0+newd at 16), the second row would have the result of (d at 0.25+newd at 16.25), while?the 3rd row would have the result of (d at 0.5+newd at 16.5), and so on... Last, after the sums established, I would need to find the value/s that are >x in each column of the latest object, and multiply by 0.25 to generate a list or row 34 for that matter for each 1000 columns, than in this row or list I would need to?find all values that are?>y. I apologize for the lengthy question, and all of your help would be greatly apreciated, sincerely, andras ??? [[alternative HTML version deleted]] [[alternative HTML version deleted]]