Re: [R] PCA - princomp can only be used with more units than variables

2011-07-20 Thread Michael Dewey

At 03:56 20/07/2011, Joshua Wiley wrote:

On Mon, Jul 18, 2011 at 10:48 AM, a.me...@yahoo.co.uk
a.me...@yahoo.co.uk wrote:
 Ok thank you Josh.

 Basically I have a matrix A with 7 rows and 18 columns.

If i  j (where i is the number of rows in your matrix and j is the
number of columns), then the determinant of the covariance (or
correlation) matrix |Sigma_A| will be 0 (or very near zero, you can
easily convince yourself of this by running det(cov(matrix(rnorm(90),
9))) as many times as you need).  From Cramer's Rule, if the
determinant of the matrix is 0, there is not a unique solution
(clarifications/corrections are welcome if any of this is wrong).



 What I am told is I need the 'varimax rotated scores from the PCA analysis
 of matrix A'


You should be able to get scores on the first 7 
components from prcomp surely? Is that not what 
it returns in x or am I misreading the 
documentation? Whether it is sensible to do this 
with such a small dataset and in particular 
whether rotating principal components is illogical I would not comment on.




Who told you that?  Is this homework?  You could look at the
?principal function in package psych.  That said, if this is
homework I would talk with your instructor more, and if this is
anything beyond an exercise (i.e., has real world implications), I
would seek the advice/help of a local statistician.


 I can choose from 3 up to 7 components. My problem is how to carry out the
 above.

 Have you any ideas?

 Would appreciate your help!

 Armin

 On 18/07/2011 18:07, Joshua Wiley wrote:

 Hi,

 You need to explain what you want to do. Â This is not a software
 issue, you simply cannot create more uncorrelated variables than you
 have observations.

 Josh

 On Mon, Jul 18, 2011 at 8:53 AM, a.me...@yahoo.co.uk
 a.me...@yahoo.co.uk  wrote:

 Hi,

 May I ask a question about a thread
 https://stat.ethz.ch/pipermail/r-help/2005-March/068365.html?

 I understand I need to use prcomp instead of princomp when i have less
 units than variables.

 However, when I use prcomp the scores is NULL. How can I overcome this?

 Regards,

 Armin

 --
 Kind Regards,

 Armin Mewes
 Groundesign
 10 Jerusalem street
 Belfast
 BT7 1QN

 Tel. Â  Â (0044)(0)2890280887
 Email. Â enquir...@groundesign.net
 www. Â  Â www.groundesign.net


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





 --
 Kind Regards,

 Armin Mewes
 Groundesign
 10 Jerusalem street
 Belfast
 BT7 1QN

 Tel. Â  Â (0044)(0)2890280887
 Email. Â enquir...@groundesign.net
 www. Â  Â www.groundesign.net

--
Joshua Wiley
Ph.D. Student, Health Psychology
University of California, Los Angeles
https://joshuawiley.com/


Michael Dewey
i...@aghmed.fsnet.co.uk
http://www.aghmed.fsnet.co.uk/home.html

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


Re: [R] PCA - princomp can only be used with more units than variables

2011-07-20 Thread Joshua Wiley
Hi Armin,

Please copy the list on your emails.  Providing your matrix A (or some
other reproducible example) would be useful to anyone who wanted to
help you.  It is easy to do by copying the output from your console
from running:

dput(A)

This would at least let us try out your code on your data.

On Wed, Jul 20, 2011 at 3:28 AM, a.me...@yahoo.co.uk
a.me...@yahoo.co.uk wrote:
 Thanks for your continued support Joshua!

 I first have run prcomp() and now use principal() to reduce the principal
 components with varimax.

 Here is the code so far.

 print(START.)
 print(reading in Matrix A)
 A=read.delim('C:/Work/Docs/Merlyn Stuff/Leachate/A.txt')
 print(printing the initial Matrix A)
 A
 print(scaling determinands in Matrix A to maximum)
 ncols=ncol(A)
 c=1
 while (c = ncols)
 {
 V=A[,c]
 max=max(V)
 V=V/max
 A[,c]=V
 c=c+1
 }

 print(printing Matrix A with scaled determinands)
 A
 print(performing PCA of Matrix A to Matrix Apc)
 Apc = prcomp(A)
 print(calculating scores of Apc as Matrix Apcs)

 Apcs = as.matrix(A) %*% as.matrix(Apc$rotation)

 print(printing scores from the PCA (Matrix Apcs))
 Apcs

 print(performing Varimax rotation of Matrix Apcs to Matrix Apcsv)

 library(psych)
 Apcsv-principal(Apcs,nfactors = 3,rotate = varimax)

 print(scaling Matrix Apcsv to range (0,1))
 Apcsv=Apcsv-min(Apcsv)
 Apcsv=Apcsv*(1/max(Apcsv))
 print(printing Matrix Apcsv scaled to range (0,1))
 Apcsv

 But there is an error on this part.

 Apcsv-principal(Apcs,nfactors = 3,rotate = varimax)
 Error in eigen(r) : infinite or missing values in 'x'
 In addition: Warning message:
 In sqrt(diag(r)) : NaNs produced

 Have you got any ideas?

I have already tried to tell you that what you are doing does not make
sense to me.  The only other advice I can offer is to seek the advice
or help of a local statistician.


 Regards,

 Armin


 I have got so far as to use the principal function

 On 20/07/2011 03:56, Joshua Wiley wrote:

 On Mon, Jul 18, 2011 at 10:48 AM, a.me...@yahoo.co.uk
 a.me...@yahoo.co.uk wrote:

 Ok thank you Josh.

 Basically I have a matrix A with 7 rows and 18 columns.

 If i  j (where i is the number of rows in your matrix and j is the
 number of columns), then the determinant of the covariance (or
 correlation) matrix |Sigma_A| will be 0 (or very near zero, you can
 easily convince yourself of this by running det(cov(matrix(rnorm(90),
 9))) as many times as you need).  From Cramer's Rule, if the
 determinant of the matrix is 0, there is not a unique solution
 (clarifications/corrections are welcome if any of this is wrong).


 What I am told is I need the 'varimax rotated scores from the PCA analysis
 of matrix A'

 Who told you that?  Is this homework?  You could look at the
 ?principal function in package psych.  That said, if this is
 homework I would talk with your instructor more, and if this is
 anything beyond an exercise (i.e., has real world implications), I
 would seek the advice/help of a local statistician.

 I can choose from 3 up to 7 components. My problem is how to carry out the
 above.

 Have you any ideas?

 Would appreciate your help!

 Armin

 On 18/07/2011 18:07, Joshua Wiley wrote:

 Hi,

 You need to explain what you want to do.  This is not a software
 issue, you simply cannot create more uncorrelated variables than you
 have observations.

 Josh

 On Mon, Jul 18, 2011 at 8:53 AM, a.me...@yahoo.co.uk
 a.me...@yahoo.co.uk  wrote:

 Hi,

 May I ask a question about a thread
 https://stat.ethz.ch/pipermail/r-help/2005-March/068365.html?

 I understand I need to use prcomp instead of princomp when i have less
 units than variables.

 However, when I use prcomp the scores is NULL. How can I overcome this?

 Regards,

 Armin

 --
 Kind Regards,

 Armin Mewes
 Groundesign
 10 Jerusalem street
 Belfast
 BT7 1QN

 Tel.    (0044)(0)2890280887
 Email.  enquir...@groundesign.net
 www.    www.groundesign.net


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



 --
 Kind Regards,

 Armin Mewes
 Groundesign
 10 Jerusalem street
 Belfast
 BT7 1QN

 Tel.    (0044)(0)2890280887
 Email.  enquir...@groundesign.net
 www.    www.groundesign.net


 --
 Kind Regards,

 Armin Mewes
 Groundesign
 10 Jerusalem street
 Belfast
 BT7 1QN

 Tel.  (0044)(0)2890280887
 Email.enquir...@groundesign.net
 www.  www.groundesign.net

-- 
Joshua Wiley
Ph.D. Student, Health Psychology
University of California, Los Angeles
https://joshuawiley.com/

__
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 

Re: [R] PCA - princomp can only be used with more units than variables

2011-07-19 Thread Joshua Wiley
On Mon, Jul 18, 2011 at 10:48 AM, a.me...@yahoo.co.uk
a.me...@yahoo.co.uk wrote:
 Ok thank you Josh.

 Basically I have a matrix A with 7 rows and 18 columns.

If i  j (where i is the number of rows in your matrix and j is the
number of columns), then the determinant of the covariance (or
correlation) matrix |Sigma_A| will be 0 (or very near zero, you can
easily convince yourself of this by running det(cov(matrix(rnorm(90),
9))) as many times as you need).  From Cramer's Rule, if the
determinant of the matrix is 0, there is not a unique solution
(clarifications/corrections are welcome if any of this is wrong).



 What I am told is I need the 'varimax rotated scores from the PCA analysis
 of matrix A'

Who told you that?  Is this homework?  You could look at the
?principal function in package psych.  That said, if this is
homework I would talk with your instructor more, and if this is
anything beyond an exercise (i.e., has real world implications), I
would seek the advice/help of a local statistician.


 I can choose from 3 up to 7 components. My problem is how to carry out the
 above.

 Have you any ideas?

 Would appreciate your help!

 Armin

 On 18/07/2011 18:07, Joshua Wiley wrote:

 Hi,

 You need to explain what you want to do.  This is not a software
 issue, you simply cannot create more uncorrelated variables than you
 have observations.

 Josh

 On Mon, Jul 18, 2011 at 8:53 AM, a.me...@yahoo.co.uk
 a.me...@yahoo.co.uk  wrote:

 Hi,

 May I ask a question about a thread
 https://stat.ethz.ch/pipermail/r-help/2005-March/068365.html?

 I understand I need to use prcomp instead of princomp when i have less
 units than variables.

 However, when I use prcomp the scores is NULL. How can I overcome this?

 Regards,

 Armin

 --
 Kind Regards,

 Armin Mewes
 Groundesign
 10 Jerusalem street
 Belfast
 BT7 1QN

 Tel.    (0044)(0)2890280887
 Email.  enquir...@groundesign.net
 www.    www.groundesign.net


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





 --
 Kind Regards,

 Armin Mewes
 Groundesign
 10 Jerusalem street
 Belfast
 BT7 1QN

 Tel.    (0044)(0)2890280887
 Email.  enquir...@groundesign.net
 www.    www.groundesign.net

-- 
Joshua Wiley
Ph.D. Student, Health Psychology
University of California, Los Angeles
https://joshuawiley.com/

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


Re: [R] PCA - princomp can only be used with more units than variables

2011-07-18 Thread Joshua Wiley
Hi,

You need to explain what you want to do.  This is not a software
issue, you simply cannot create more uncorrelated variables than you
have observations.

Josh

On Mon, Jul 18, 2011 at 8:53 AM, a.me...@yahoo.co.uk
a.me...@yahoo.co.uk wrote:
 Hi,

 May I ask a question about a thread
 https://stat.ethz.ch/pipermail/r-help/2005-March/068365.html?

 I understand I need to use prcomp instead of princomp when i have less
 units than variables.

 However, when I use prcomp the scores is NULL. How can I overcome this?

 Regards,

 Armin

 --
 Kind Regards,

 Armin Mewes
 Groundesign
 10 Jerusalem street
 Belfast
 BT7 1QN

 Tel.    (0044)(0)2890280887
 Email.  enquir...@groundesign.net
 www.    www.groundesign.net


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




-- 
Joshua Wiley
Ph.D. Student, Health Psychology
University of California, Los Angeles
https://joshuawiley.com/

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