Look at ?ifelse, a combination of logical subscripting and mean(), or even better ?ave -- I can't say too much more; there's a no homework policy on this list and I recognize that first solution as mine already... (I should have noted that the first time)
Michael On Apr 22, 2012, at 2:54 PM, phillip03 <phillipbrig...@hotmail.com> wrote: > The text below is a part of, some work I have to do, which is due in 2 days > and I am strung up with a lot of other stuff, so I was hoping someone would > take 5 mins and help me ?? > > Here is a part of my data.frame: > > year country1 country2 contig comlang pop1 gdp1 > pop2 gdp2 rta dist avgflow > 1 1992 AUS AUT 0 0 17.4950008 321708.281 > 7.7825189 194684.078 0 15608.4 1.075999e+02 > 2 1992 AUS BEL 0 0 17.4950008 321708.281 > 10.0450001 231762.094 0 16319.2 4.767162e+02 > 3 1992 AUS CAN 0 1 17.4950008 321708.281 > 28.5195980 570291.188 0 15391.1 7.456945e+02 > 4 1992 AUS CHE 0 0 17.4950008 321708.281 > 6.8750000 249471.422 0 16170.1 4.625214e+02 > 5 1992 AUS DEU 0 0 17.4950008 321708.281 > 80.6240005 2062141.500 0 15935.1 2.047573e+03 > 6 1992 AUS DNK 0 0 17.4950008 321708.281 > 5.1700001 150195.484 0 15725.5 1.453406e+02 > 7 1992 AUS ESP 0 0 17.4950008 321708.281 > 39.0677490 612585.250 0 17072.9 2.106880e+02 > 8 1992 AUS FIN 0 0 17.4950008 321708.281 > 5.0419998 109859.438 0 14849.5 2.025125e+02 > 9 1992 AUS FRA 0 0 17.4950008 321708.281 > 57.2422981 1371706.000 0 16513.0 1.070802e+03 > 10 1992 AUS GBR 0 1 17.4950008 321708.281 > 57.9023476 1071537.375 0 16602.3 2.279130e+03 > 11 1992 AUS GRC 0 0 17.4950008 321708.281 > 10.3699999 102022.352 0 14845.6 4.164985e+01 > 12 1992 AUS IRL 0 1 17.4950008 321708.281 > 3.5490999 54272.410 0 16895.0 1.076323e+02 > 13 1992 AUS ISL 0 0 17.4950008 321708.281 > 0.2611000 6976.168 0 16443.6 2.190602e+01 > 14 1992 AUS ITA 0 0 17.4950008 321708.281 > 56.7976494 1265800.125 0 15855.4 9.683720e+02 > 15 1992 AUS JPN 0 0 17.4950008 321708.281 > 124.2289963 3766884.000 0 7827.1 1.026065e+04 > 16 1992 AUS NLD 0 0 17.4950008 321708.281 > 15.1780005 348224.562 0 16227.5 6.510009e+02 > 17 1992 AUS NOR 0 0 17.4950008 321708.281 > 4.2863998 127170.328 0 15646.2 9.357240e+01 > 18 1992 AUS NZL 0 1 17.4950008 321708.281 > 3.5316999 40706.199 1 2736.4 2.267670e+03 > 19 1992 AUS PRT 0 0 17.4950008 321708.281 > 9.9630003 102890.258 0 17625.3 2.611476e+02 > 20 1992 AUS SWE 0 0 17.4950008 321708.281 > 8.6680002 264822.875 0 15385.4 4.653388e+02 > > > there is 3400 observations. > > 3.1.1. Construct a dummy variable, EMU, that in any given year takes the > value 1 if both countries are members of the EMU and 0 otherwise. How big a > proportion of the observations are among EMU member countries? > > This problem is solved with: > euro<-c("AUT","BEL","DEU","ESP","FIN","FRA","GRC","IRL","ITA","NLD","PRT") > countries<-data.frame(country1,country2,stringsAsFactors=FALSE) > data1<-cbind(data,EMU=Reduce(`&`, lapply(countries, function(x) x %in% > euro))) > > data1[EMU==TRUE,13] > > a<-table(EMU) > > > 3.1.2. Are the member and non-member country-pairs alike? > > What I need here is: > I want to find the mean of avgflow, but only for the data where 2 countries > are in the euro vector/if EMU=TRUE ? > I have tried with: >> avgflowONLY<-cbind(avgflow,EMU) > >> NEWavgflow<-rep(0,nrow(avgflowONLY)) > >> for (i in 1:nrow(avgflowONLY)){if >> (EMU==1){NEWavgflow[i]<-mean(avgflow[i])}} > > BUT it gives me: > Warning messages: > 1: In if (EMU == 1) { ... : > the condition has length > 1 and only the first element will be used > etc. ??? > > > -- > View this message in context: > http://r.789695.n4.nabble.com/Assignment-problems-tp4578672p4578672.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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. ______________________________________________ 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.