Skip to content

A small nag

11 messages · Chintanu, Steven Yen, Joshua Wiley +1 more

#
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 <chintanu at gmail.com> wrote:

  
    
#
I am new to R. Have a naive question about the boa package.
I loaded the package as instructed, and after entering
R > boa.menu()
I could never got the ready prompt (R hung).
#
On Sun, Aug 14, 2011 at 7:21 PM, Chintanu <chintanu at gmail.com> wrote:
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.

  
    
#
Is your column dimension of file(,3:10)  9?
Your dim(LGD) is 8
That could be the problem.
Regards
VIjayan Padmanabhan
Sent from my BlackBerry? smartphone from !DEA

-----Original Message-----
From: Chintanu <chintanu at gmail.com>
Sender: r-help-bounces at r-project.orgDate: Mon, 15 Aug 2011 13:41:13 
To: Joshua Wiley<jwiley.psych at gmail.com>
Cc: <r-help at r-project.org>
Subject: Re: [R] A small nag

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

Thanks,
Chintanu



===============================================================
On Mon, Aug 15, 2011 at 1:12 PM, Joshua Wiley <jwiley.psych at gmail.com>wrote:

            
______________________________________________
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.
#
On Sun, Aug 14, 2011 at 8:41 PM, Chintanu <chintanu at gmail.com> wrote:
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

  
    
#
On Sun, Aug 14, 2011 at 10:03 PM, Chintanu <chintanu at gmail.com> wrote:
You are quite welcome.
apply(file[1, 3:10], 1, cor, y = LGD, method = "spearman")
is.vector()
is.matrix()
is.data.frame()

HTH,

Josh