[R] By() with method = spearman
Doran, Harold
HDoran at air.org
Wed Sep 19 18:19:54 CEST 2007
Thanks, Chuck. Seems odd though, doesn't it? There must be something
with my data set. But, I don't have any clue what it might be since I
can compute pearson using by() and I can subset and actually compute
spearman using just cor()
> -----Original Message-----
> From: Chuck Cleland [mailto:ccleland at optonline.net]
> Sent: Wednesday, September 19, 2007 12:14 PM
> To: Doran, Harold
> Cc: r-help at r-project.org
> Subject: Re: [R] By() with method = spearman
>
> Doran, Harold wrote:
> > I have a data set where I want the correlations between 2 variables
> > conditional on a students grade level.
> >
> > This code works just fine.
> >
> > by(tmp[,c('mtsc07', 'DCBASmathscoreSPRING')], tmp$Grade, cor,
> > use='complete', method='pearson')
> >
> > However, this generates an error
> >
> > by(tmp[,c('mtsc07', 'DCBASmathscoreSPRING')], tmp$Grade, cor,
> > use='complete', method='spearman') Error in FUN(data[x, ],
> ...) : 'x'
> > is empty
> >
> > I can subset the data by grade and compute spearman rho as
> >
> > tmp5 <- subset(tmp, Grade == 5)
> > cor(tmp5[,c('mtsc07', 'DCBASmathcountSPRING')], use='complete',
> > method='spearman')
> >
> > But doing this iteratively is inefficient.
> >
> > I don't see anything in the help man for by() or cor() that
> tells me
> > what the problem is. I might be missing it though. Any thoughts?
>
> It works as expected using the iris data:
>
> by(iris[,c('Sepal.Length', 'Sepal.Width')], iris$Species, cor,
> use='complete', method='spearman')
>
> iris$Species: setosa
> Sepal.Length Sepal.Width
> Sepal.Length 1.0000000 0.7553375
> Sepal.Width 0.7553375 1.0000000
> --------------------------------------------------------------
> -------------------------------------------------------
>
> iris$Species: versicolor
> Sepal.Length Sepal.Width
> Sepal.Length 1.000000 0.517606
> Sepal.Width 0.517606 1.000000
> --------------------------------------------------------------
> -------------------------------------------------------
>
> iris$Species: virginica
> Sepal.Length Sepal.Width
> Sepal.Length 1.0000000 0.4265165
> Sepal.Width 0.4265165 1.0000000
>
> > sessionInfo()
> R version 2.5.1 Patched (2007-09-16 r42884)
> i386-pc-mingw32
>
> locale:
> LC_COLLATE=English_United States.1252;LC_CTYPE=English_United
> States.1252;LC_MONETARY=English_United
> States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252
>
> attached base packages:
> [1] "stats" "graphics" "grDevices" "utils" "datasets"
> "methods" "base"
>
> other attached packages:
> lattice
> "0.16-5"
>
> > Thanks,
> > Harold
> >
> >
> >> sessionInfo()
> > R version 2.5.0 (2007-04-23)
> > i386-pc-mingw32
> >
> > locale:
> > LC_COLLATE=English_United States.1252;LC_CTYPE=English_United
> > States.1252;LC_MONETARY=English_United
> > States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252
> >
> > attached base packages:
> > [1] "stats" "graphics" "grDevices" "utils" "datasets"
> > "methods" "base"
> >
> > other attached packages:
> > lattice
> > "0.15-4"
> >
> >
> > [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > 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.
>
> --
> Chuck Cleland, Ph.D.
> NDRI, Inc.
> 71 West 23rd Street, 8th floor
> New York, NY 10010
> tel: (212) 845-4495 (Tu, Th)
> tel: (732) 512-0171 (M, W, F)
> fax: (917) 438-0894
>
More information about the R-help
mailing list