[R] Question: how to build a subset to do separate calculations

Erik Iverson iverson at biostat.wisc.edu
Thu Jul 24 22:33:01 CEST 2008


Spencer -

Spencer wrote:
> 
> Dear R Experts,
> 
> I am trying to create several subsets that I want to use as separate 
> datasets. After separate subsets are created for each country, I want to 
> do some calculations for each. I did the following:
> 
> data <- data.frame(na.omit(read.spss("trial.sav")))
> 
> attach (data)

You might not want to call it 'data' since 'data' is the name of a 
function in base R.

Also, the usual advice is to avoid attaching data.frames to the search 
path, for the exact reasons that happen to you below.

> 
> Netherlands <- subset(data, COUNTRY = "NETHERLANDS")
> attach(Netherlands)
> 
> But after this step, when I check the summary statistics for 
> "Netherlands," what returns is the summary for the original dataset. 

Try typing search() after attaching this to see why.  You may have also 
seen a message about objects being masked when you used the second 
'attach' command; at least I do in my version of R.




> I've also tried defining Netherlands as Netherlands <- 
> data.frame(subset(data, COUNTRY = "NETHERLANDS")), but get the same result.
> 
> Any help would be greatly appreciated!

Don't use attach.  If you want to do summaries by country, there are 
many simpler ways.  See ?tapply, ?aggregate, and ?by for instance.

Best,
Erik

> 
> 
> Spencer
> 
> 
> ------------------------------------------------------------------------
> 
> ______________________________________________
> R-help at 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.



More information about the R-help mailing list