Please use split() instead of strsplit(). Apologies to all. --JIV
On Sun, Jun 24, 2012 at 11:38 PM, Jorge I Velez <> wrote: > Dear Taylor, > > You might also try > > with(OECDFiscal2, strsplit(OECDFical2, Country)) > > HTH, > Jorge.- > > > > On Sun, Jun 24, 2012 at 11:31 PM, Taylor White <> wrote: > >> Thank you gentlemen for pointing me in the right direction. >> >> This code worked nicely: >> >> >> countries <- list() >> >> for (i in 1:20) { >> countries[[i]] = as.matrix(subset(OECDFiscal2, Country == i)) >> } >> >> Take care, >> >> Taylor >> >> On Sun, Jun 24, 2012 at 3:01 PM, R. Michael Weylandt >> <michael.weyla...@gmail.com> wrote: >> > To elaborate on what Bert said: >> > >> > Lists are a variable length data structure which can hold most >> > anything (even other lists) in them and are a great way to organize >> > the sort of data you're working with. You can think of them as >> > "generic vectors." You can assign them names and access/subset them by >> > names or by element number. Perhaps most usefully, instead of passing >> > all the vectors to a function which may need them, you can simply pass >> > the one list object. This will make things much easier to maintain in >> > the long run/ >> > >> > Most everything complicated in R like data.frames or model objects are >> > internally implemented as lists (with various added features) and they >> > [lists] are exceptionally powerful. It will seem like more overhead >> > now than the lots-of-simple-vectors approach, but in the long run, it >> > will be most certainly worth it. >> > >> > Best, >> > Michael >> > >> > On Sun, Jun 24, 2012 at 4:30 PM, Bert Gunter <gunter.ber...@gene.com> >> wrote: >> >> Standard response: Use lists instead. >> >> >> >> Read An Intro to R to learn about lists. In fact,read an An Intro to R, >> >> full stop ( if you have not already done so). >> >> >> >> Cheers, >> >> Bert >> >> >> >> On Sun, Jun 24, 2012 at 2:15 PM, Taylor White >> >> <taylorgentrywh...@gmail.com>wrote: >> >> >> >>> Good day, >> >>> >> >>> For lack of a better solution (or perhaps I am ignorant to something >> >>> more elegant), I have been bootstrapping panel data by hand so to >> >>> speak and I would like to know if there is a way to define multiple >> >>> variables in a loop using the loop variable. I found a post (here: >> >>> https://stat.ethz.ch/pipermail/r-help/2002-October/026305.html ) that >> >>> discussed naming multiple variables but it didn't seem to allow me to >> >>> define the variables as something more useful. I tried the code >> >>> immediately below (plus some variations) and it just didn't work. >> >>> >> >>> for (i in 1:20) { >> >>> assign(paste("country.", i, sep = "") <- subset(OECDFiscal2, Country >> == i) >> >>> } >> >>> >> >>> >> >>> I included some sample code from what I've been working on below so >> >>> one can see how it would be very useful to figure out how to define a >> >>> series of variables from cross sectional units from a panel dataset. >> >>> >> >>> >> >>> Any help would be much appreciated. >> >>> >> >>> >> >>> Thanks, >> >>> >> >>> Taylor White >> >>> UCLA >> >>> >> >>> >> >>> >> >>> ######Bootstrapping panel data by hand. Create 4 variables from 3 >> >>> subsets of the original data. Resample each variable and recombine >> >>> into one matrix. >> >>> >> >>> >> >>> plmcoef <- array(0, c(1000, 4)) #creates an empty array to store >> >>> regression coefficients >> >>> plmfixef <- array(0, c(1000, 3)) #creates an empty array to store >> >>> fixed effects intercepts from regressions >> >>> >> >>> >> >>> for (i in 1:1000) { >> >>> country1 <- as.data.frame(subset(OECDFiscal2, Country == 1)) >> >>> country2 <- as.data.frame(subset(OECDFiscal2, Country == 2)) >> >>> country3 <- as.data.frame(subset(OECDFiscal2, Country == 3)) >> >>> >> >>> exp1 <- as.matrix(sample(country1$lagexpVSgdp, size = >> >>> (nrow(country1)), replace = T)) >> >>> exp2 <- as.matrix(sample(country2$lagexpVSgdp, size = >> >>> (nrow(country2)), replace = T)) >> >>> exp3 <- as.matrix(sample(country3$lagexpVSgdp, size = >> >>> (nrow(country3)), replace = T)) >> >>> >> >>> tax1 <- as.matrix(sample(country1$lagtaxVSgdp1, size = >> >>> (nrow(country1)), replace = T)) >> >>> tax2 <- as.matrix(sample(country2$lagtaxVSgdp1, size = >> >>> (nrow(country2)), replace = T)) >> >>> tax3 <- as.matrix(sample(country3$lagtaxVSgdp1, size = >> >>> (nrow(country3)), replace = T)) >> >>> >> >>> gdp1 <- as.matrix(sample(country1$yoygdpcapita, size = >> >>> (nrow(country1)), replace = T)) >> >>> gdp2 <- as.matrix(sample(country2$yoygdpcapita, size = >> >>> (nrow(country2)), replace = T)) >> >>> gdp3 <- as.matrix(sample(country3$yoygdpcapita, size = >> >>> (nrow(country3)), replace = T)) >> >>> >> >>> unemployment1 <- as.matrix(sample(country1$lagunemployment, size = >> >>> (nrow(country1)), replace = T)) >> >>> unemployment2 <- as.matrix(sample(country2$lagunemployment, size = >> >>> (nrow(country2)), replace = T)) >> >>> unemployment3 <- as.matrix(sample(country3$lagunemployment, size = >> >>> (nrow(country3)), replace = T)) >> >>> >> >>> country.year1 <- as.matrix(cbind(country1$Country, country1$Year2)) >> >>> country.year2 <- as.matrix(cbind(country2$Country, country2$Year2)) >> >>> country.year3 <- as.matrix(cbind(country3$Country, country3$Year2)) >> >>> >> >>> country1.2 <- as.data.frame(cbind(country.year1, exp1, tax1, gdp1, >> >>> unemployment1)) >> >>> country2.2 <- as.data.frame(cbind(country.year2, exp2, tax2, gdp2, >> >>> unemployment2)) >> >>> country3.2 <- as.data.frame(cbind(country.year3, exp3, tax3, gdp3, >> >>> unemployment3)) >> >>> >> >>> data <- as.data.frame(rbind(country1.2, country2.2, country3.2)) >> >>> >> >>> OECDsamplepanel <- pdata.frame(data, index = NULL, drop = F) >> >>> >> >>> plm <- plm(V5 ~ lag(V6, 1) + V3 + V4 + V5, data = OECDSamplepanel, >> >>> model = "within") >> >>> >> >>> coefficients <- t(as.matrix(plm$coefficients)) >> >>> fixef <- t(as.matrix(fixef(plm))) >> >>> >> >>> plmcoef[i, 1:4] = coefficients >> >>> plmfixef[i, 1:3] = fixef >> >>> >> >>> } >> >>> >> >>> ______________________________________________ >> >>> 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. >> >>> >> >> >> >> >> >> >> >> -- >> >> >> >> Bert Gunter >> >> Genentech Nonclinical Biostatistics >> >> >> >> Internal Contact Info: >> >> Phone: 467-7374 >> >> Website: >> >> >> http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm >> >> >> >> [[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. >> >> ______________________________________________ >> 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. >> > > [[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.