Okay, I'm away for most of the day and might not be able to look at it until tomorrow.
Jim On Wed, Dec 18, 2019 at 9:27 AM Ioannou, Ioanna <ioanna.ioan...@ucl.ac.uk> wrote: > > Hello Jim , > > I am very sorry. Here is the corrected sample data to play with: > > Test.v2 <- data.frame(Ref.No = c(1622, 1623, 1624, 1625, 1626, 1627, 1628, > 1629), > Region = rep(c('South America'), times = 8), > IM.type = c('PGA', 'PGA', 'PGA', 'PGA', 'Sa', 'Sa', > 'Sa', 'Sa'), > Damage.state = c('DS1', 'DS2', 'DS3', 'DS4','DS1', > 'DS2', 'DS3', 'DS4'), > Taxonomy = > c('ER+ETR_H1','ER+ETR_H1','ER+ETR_H1','ER+ETR_H1','ER+ETR_H2','ER+ETR_H2','ER+ETR_H2','ER+ETR_H2'), > IM_1 = c(0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, > 0.00), > IM_2 = c(0.08, 0.08, 0.08, 0.08, 0.08, 0.08, 0.08, > 0.08), > IM_3 = c(0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, > 0.16), > IM_4 = c(0.24, 0.24, 0.24, 0.24, 0.24, 0.24, 0.24, > 0.24), > Prob.of.exceedance_1 = c(0,0,0,0,0,0,0,0), > Prob.of.exceedance_2 = c(0,0,0,0,0,0,0,0), > Prob.of.exceedance_3 = > c(0.26,0.001,0.00019,0.000000573,0.04,0.00017,0.000215,0.000472), > Prob.of.exceedance_4 = > c(0.72,0.03,0.008,0.000061,0.475,0.0007,0.00435,0.000405) > ) > > Basically I am using the total probability theorem to calculate a best > estimate. I am stuck how to do it for many cases. Many thanks for your > patience. > > -----Original Message----- > From: Jim Lemon [mailto:drjimle...@gmail.com] > Sent: Tuesday, December 17, 2019 10:22 PM > To: Ioannou, Ioanna <ioanna.ioan...@ucl.ac.uk> > Subject: Re: [R] How to create a new data.frame based on calculation of > subsets of an existing data.frame > > Hi Ioanna, > After looking at your post for a while, I think that you are combining > columns IM_1 to IM_4 to generate VC_1 to VC_4. First, you seem to have > omitted the "Region" column from Test_v2, which means that your indices > (10:13) run out of range. It seems to me that you would find it easier to > write down what arithmetic operations you want and translate these into > logical expressions to extract the rows. > > Jim > > On Wed, Dec 18, 2019 at 7:47 AM Ioannou, Ioanna <ioanna.ioan...@ucl.ac.uk> > wrote: > > > > Hello everyone, > > > > I have the following problem: I have a data.frame with multiple fields. > > > > If I had to do my calculations for a given combination of IM.type and > > Taxonomy is the following: > > D <- read.csv('Test_v2.csv') > > names(D) > > > > VC <- 0.01*( subset(D, IM.type == 'PGA' & Damage.state == 'DS1' & Taxonomy > > == 'ER+ETR_H1')[10:13] - > > subset(D, IM.type == 'PGA' & Damage.state == 'DS2' & Taxonomy > > == 'ER+ETR_H1')[10:13]) + > > 0.02*( subset(D, IM.type == 'PGA' & Damage.state == 'DS2' & Taxonomy > > == 'ER+ETR_H1')[10:13] - > > subset(D, IM.type == 'PGA' & Damage.state == 'DS3' & Taxonomy > > == 'ER+ETR_H1')[10:13]) + > > 0.43*( subset(D, IM.type == 'PGA' & Damage.state == 'DS3' & Taxonomy == > > 'ER+ETR_H1')[10:13] - > > subset(D, IM.type == 'PGA' & Damage.state == 'DS4' & Taxonomy == > > 'ER+ETR_H1')[10:13]) + > > 1.0*( subset(D, IM.type == 'PGA' & Damage.state == 'DS4' & Taxonomy > > == 'ER+ETR_H1')[10:13]) > > > > So the question is how can I do that in an automated way for all possible > > combinations and store the results in new data.frame which would look like > > this: > > > > Ref.No. Region IM.type Taxonomy IM_1 IM_2 IM_3 IM_4 > > VC_1 VC_2 VC_3 VC_4 > > 1622 South America PGA ER+ETR_H1 1.00E-06 0.08 > > 0.16 0.24 3.49e-294 3.449819e-05 0.002748889 > > 0.01122911 > > > > Best, , > > ioanna > > > > ______________________________________________ > > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat > > .ethz.ch%2Fmailman%2Flistinfo%2Fr-help&data=02%7C01%7C%7C2808d89de > > 79441309c4808d7833f7f81%7C1faf88fea9984c5b93c9210a11d9a5c2%7C0%7C0%7C6 > > 37122181061837860&sdata=B%2FmCVpyLnCghj3KxgP7fYu3aOxy7uRjAVZ8fgdhc > > u4w%3D&reserved=0 PLEASE do read the posting guide > > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.R > > -project.org%2Fposting-guide.html&data=02%7C01%7C%7C2808d89de79441 > > 309c4808d7833f7f81%7C1faf88fea9984c5b93c9210a11d9a5c2%7C0%7C0%7C637122 > > 181061837860&sdata=e4YB5rlwfSLO%2B01i92q4%2F8otuyjv%2FoZnuIwfDWPGi > > EE%3D&reserved=0 and provide commented, minimal, self-contained, > > reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.