For your second question.. Why not make a function on your own using 
if(),is.vector(), is.matrix(),is.dataframe() and club it to return different 
values accordingly?
Regards
VP
Sent from my BlackBerry® smartphone from !DEA

-----Original Message-----
From: Chintanu <chint...@gmail.com>
Date: Mon, 15 Aug 2011 15:03:43 
To: Joshua Wiley<jwiley.ps...@gmail.com>
Cc: <r-help@r-project.org>; <padmanabhan.vija...@gmail.com>
Subject: Re: [R] A small nag

Hello Josh,

Thank you - that worked. Also, thanks to VIjayan Padmanabhan for your
effort.

Further, please allow me to ask 2 quick questions:

1. The default "cor" takes Pearson correlation. How would I change it to,
say *Spearman* correlation ? Something like the following doesn't work.

> apply(file[1, 3:10], 1, cor(method = "spearman"), y = LGD)
Error in .Internal(inherits(x, what, which)) : 'x' is missing


2. Is there any function available that can be used to check whether a
variable is vector, matrix or dataframe ?

Thank you.

regards,
Chintanu


=============================================================

On Mon, Aug 15, 2011 at 2:03 PM, Joshua Wiley <jwiley.ps...@gmail.com>wrote:

> On Sun, Aug 14, 2011 at 8:41 PM, Chintanu <chint...@gmail.com> wrote:
> > Hello Joshua,
> >
> > I could feel that my explanation was bad so far. Now, giving another
> effort
> > here to simplify things :
> >
> > I have a dataframe ("file") containing 8 samples (in columns). Those
> > samples' results (numericals) are available in the dataframe's rows.
> >
> > LGD is another vector.
> >
> > LGD <- c(11.6, 12.3, 15.8, 33.1, 43.5, 51.3, 67.3, 84.9)
> >
> > Now, correlation needs to be found between -
> >
> > i) each of the rows of the dataframe, and
> > ii) LGD
>
> Ah, rows, then try:
>
> apply(file[1:47321, 3:10], 1, cor, y = LGD)
>
> it is basically an implicit for loop that loops through the first
> argument (your file matrix), row by row, correlating each row with
> LGD.  So:
>
> cor(file[1, 3:10], LGD)
>
> from 1 to 47321. It is not very efficient, but even on my slow laptop
> it is a matter of seconds so speed is probably not a big issue unless
> it is part of a simulation or something.  I have a sense that a smidge
> of clever work with matrices could avoid the apply() call, but its not
> jumping out at me.
>
> Cheers!
>
> Josh
>
> > Thanks,
> > Chintanu
> >
> >
> >
> > ===============================================================
> >
> > On Mon, Aug 15, 2011 at 1:12 PM, Joshua Wiley <jwiley.ps...@gmail.com>
> > wrote:
> >>
> >> On Sun, Aug 14, 2011 at 7:21 PM, Chintanu <chint...@gmail.com> wrote:
> >> > Hi Joshua,
> >> >
> >> > SORRY for not making that clear. I wish to have the correlation values
> >> > between each column of my "file" with the "LGD". For example:
> >> >
> >> > cor (Column 1, LGD)
> >> > cor (column 2, LGD) ... so on.
> >>
> >> Okay, you need to make a tractable example.  Create or give us data
> >> where cor(Column1, LGD) works.  LGD is a vector of length 8, file is
> >> probably some sort of matrix or data frame, which you are extracting
> >> part of, but there are way too many possible ways to repeat,
> >> transpose, twist, and otherwise manipulate the data into some sort of
> >> correlatable form (using rep() is not sufficient---that just gives you
> >> a really long vector).
> >>
> >> If you are currently under the impression that it is possible to
> >> correlate a 47231 x 1 matrix with a vector of length 8, read the
> >> Wikipedia page so you understand how correlation works:
> >> http://en.wikipedia.org/wiki/Correlation_and_dependence.
> >>
> >> >
> >> > The first one you have provided is producing an error :
> >> >
> >> >> sapply(file[1:47231, 3:10], FUN = cor, y = rep(LGD, 47231), method =
> >> >> "pearson")
> >> > Error in FUN(X[[1L]], ...) : incompatible dimensions
> >> > Cheers,
> >> > Chintanu
> >> >
> >> >
> >> > ===============================================
> >> >
> >> > On Mon, Aug 15, 2011 at 12:09 PM, Joshua Wiley <
> jwiley.ps...@gmail.com>
> >> > wrote:
> >> >>
> >> >> Hi Chintanu,
> >> >>
> >> >> Do you want the correlation of columns 3:10 of file with the y vector
> >> >> or do you want a correlation matrix of all variables?
> >> >>
> >> >> ## correlation between cols 3:10 and y
> >> >> sapply(file[1:47231, 3:10], FUN = cor, y = rep(LGD, 47231), method =
> >> >> "pearson")
> >> >>
> >> >> ## correlation matrix
> >> >> cor(cbind(file[1:47231, 3:10], rep(LGD, 47231)), method = "pearson")
> >> >>
> >> >> HTH,
> >> >>
> >> >> Josh
> >> >>
> >> >>
> >> >> On Sun, Aug 14, 2011 at 7:02 PM, Chintanu <chint...@gmail.com>
> wrote:
> >> >> > Hi,
> >> >> >
> >> >> > I am not sure how to fix the following error.
> >> >> >
> >> >> > LGD <-  c(11.6,   12.3,      15.8,      33.1,      43.5,      51.3,
> >> >> > 67.3,      84.9)
> >> >> >
> >> >> > cor (x=(file [1:47231,3:10]), y= rep (LGD, 47231), method =
> >> >> > "pearson")
> >> >> >
> >> >> > Error in cor(x = (file[1:47231, 3:10]), y = rep(LGD, 47231), method
> =
> >> >> > "pearson") :
> >> >> >
> >> >> >  incompatible dimensions
> >> >> >
> >> >> >> sessionInfo()
> >> >> >
> >> >> > R version 2.13.0 (2011-04-13)
> >> >> >
> >> >> > Platform: i386-pc-mingw32/i386 (32-bit)
> >> >> >
> >> >> > locale:
> >> >> >
> >> >> > [1] LC_COLLATE=English_Australia.1252
> >> >> >  LC_CTYPE=English_Australia.1252
> >> >> >   LC_MONETARY=English_Australia.1252
> >> >> > LC_NUMERIC=C                       LC_TIME=English_Australia.1252
> >> >> >
> >> >> > attached base packages:
> >> >> >
> >> >> > [1] stats     graphics  grDevices utils     datasets  methods
> base
> >> >> >
> >> >> > loaded via a namespace (and not attached):
> >> >> >
> >> >> > [1] tools_2.13.0
> >> >> >
> >> >> > Thank you.
> >> >> >
> >> >> > Kind regards,
> >> >> >
> >> >> > Chintanu
> >> >> >
> >> >> >        [[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<http://www.r-project.org/posting-guide.html>
> >> >> > and provide commented, minimal, self-contained, reproducible code.
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Joshua Wiley
> >> >> Ph.D. Student, Health Psychology
> >> >> Programmer Analyst II, ATS Statistical Consulting Group
> >> >> University of California, Los Angeles
> >> >> https://joshuawiley.com/
> >> >
> >> >
> >>
> >>
> >>
> >> --
> >> Joshua Wiley
> >> Ph.D. Student, Health Psychology
> >> Programmer Analyst II, ATS Statistical Consulting Group
> >> University of California, Los Angeles
> >> https://joshuawiley.com/
> >
> >
>
>
>
> --
>  Joshua Wiley
> Ph.D. Student, Health Psychology
> Programmer Analyst II, ATS Statistical Consulting Group
> University of California, Los Angeles
> https://joshuawiley.com/
>


        [[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.

Reply via email to