Re: [R] Psych package: why am I receiving NA for many of the factor scores?

2015-01-15 Thread William Revelle
Dear Elizabeth,
  A correction to my suggestion:
scaled - scale(mydata)
wts - f4$weights

scores -t( apply(scaled,1,function(x) colSums(x*wts,na.rm=TRUE)))  #you need 
the colSums not the sum function

Also, your confusion in getting the NAs with missing data was due to a bug in 
the fa function in the way it just ignored the missing statement.

Thanks for catching that.  It is now fixed and should be on CRAN real soon.

Bill





 On Jan 14, 2015, at 9:39 AM, William Revelle li...@revelle.net wrote:
 
 Dear Elizabeth,
 
 Factor scores in the fa function are found by multiplying the standardized 
 data by the factor weights using matrix multiplication.  This will give 
 scores only for subjects with complete data.
 
 However, if you want, you can create them yourself by standardizing your data 
 and then multiplying them by the weights:
 
 mydata - rProjectSurveyDataJustVariables
 
 f4 - fa(my.data,4)  #modify this to match your call
 wts - f4$wts
 scaleddata - scale(mydata)
 scores - apply(scaleddata,1,function(x) sum(x * wts,na.rm=TRUE))   
 
 #this will work with complete data, and impute factor scores for those cases 
 with incomplete data.  If the data are missing completely at random, this 
 should give a reasonable answer.  However, if the missingness has some 
 structure to it, the imputed scores will be biased.
 
 This is a reasonable option to add to the fa function and I will do so.
 
 A side note.  If you need help with a package, e.g., psych, you get faster 
 responses by writing to the package author.  I just happened to be browsing 
 R-help when your question came in.
 
 Let me know if this solution works for you.
 
 Bill
 
 
 
 On Jan 13, 2015, at 7:46 PM, Elizabeth Barrett-Cheetham 
 ebarrettcheet...@gmail.com wrote:
 
 
 Hello R Psych package users,
 
 Why am I receiving NA for many of the factor scores for individual
 observations? I'm assuming it is because there is quite a bit of missing
 data (denoted by NA). Are there any tricks in the psych package for getting
 a complete set of factor scores? 
 
 My input is: 
 rProjectSurveyDataJustVariables = read.csv(R Project Survey Data Just
 Variables.csv, header = TRUE)
 solution - fa(r = rProjectSurveyDataJustVariables, nfactors = 4,  rotate =
 oblimin, fm = ml, scores = tenBerge, warnings = TRUE, oblique.scores =
 TRUE) 
 solution
 
 Thank you.
 
 __
 R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
 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.
 
 
 William Revelle  
 http://personality-project.org/revelle.html
 Professorhttp://personality-project.org
 Department of Psychology   http://www.wcas.northwestern.edu/psych/
 Northwestern University  http://www.northwestern.edu/
 Use R for psychology http://personality-project.org/r
 It is 5 minutes to midnight  http://www.thebulletin.org
 
 __
 R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
 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.
 

William Revellehttp://personality-project.org/revelle.html
Professor  http://personality-project.org
Department of Psychology   http://www.wcas.northwestern.edu/psych/
Northwestern Universityhttp://www.northwestern.edu/
Use R for psychology http://personality-project.org/r
It is 5 minutes to midnighthttp://www.thebulletin.org

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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] Psych package: why am I receiving NA for many of the factor scores?

2015-01-14 Thread William Revelle
Dear Elizabeth,

Factor scores in the fa function are found by multiplying the standardized data 
by the factor weights using matrix multiplication.  This will give scores only 
for subjects with complete data.

However, if you want, you can create them yourself by standardizing your data 
and then multiplying them by the weights:

mydata - rProjectSurveyDataJustVariables

f4 - fa(my.data,4)  #modify this to match your call
wts - f4$wts
scaleddata - scale(mydata)
scores - apply(scaleddata,1,function(x) sum(x * wts,na.rm=TRUE))   

#this will work with complete data, and impute factor scores for those cases 
with incomplete data.  If the data are missing completely at random, this 
should give a reasonable answer.  However, if the missingness has some 
structure to it, the imputed scores will be biased.

This is a reasonable option to add to the fa function and I will do so.

A side note.  If you need help with a package, e.g., psych, you get faster 
responses by writing to the package author.  I just happened to be browsing 
R-help when your question came in.

Let me know if this solution works for you.

Bill



 On Jan 13, 2015, at 7:46 PM, Elizabeth Barrett-Cheetham 
 ebarrettcheet...@gmail.com wrote:
 
 
 Hello R Psych package users,
 
 Why am I receiving NA for many of the factor scores for individual
 observations? I'm assuming it is because there is quite a bit of missing
 data (denoted by NA). Are there any tricks in the psych package for getting
 a complete set of factor scores? 
 
 My input is: 
 rProjectSurveyDataJustVariables = read.csv(R Project Survey Data Just
 Variables.csv, header = TRUE)
 solution - fa(r = rProjectSurveyDataJustVariables, nfactors = 4,  rotate =
 oblimin, fm = ml, scores = tenBerge, warnings = TRUE, oblique.scores =
 TRUE) 
 solution
 
 Thank you.
 
 __
 R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
 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.
 

William Revellehttp://personality-project.org/revelle.html
Professor  http://personality-project.org
Department of Psychology   http://www.wcas.northwestern.edu/psych/
Northwestern Universityhttp://www.northwestern.edu/
Use R for psychology http://personality-project.org/r
It is 5 minutes to midnighthttp://www.thebulletin.org

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.


[R] Psych package: why am I receiving NA for many of the factor scores?

2015-01-13 Thread Elizabeth Barrett-Cheetham

Hello R Psych package users,

Why am I receiving NA for many of the factor scores for individual
observations? I'm assuming it is because there is quite a bit of missing
data (denoted by NA). Are there any tricks in the psych package for getting
a complete set of factor scores? 

My input is: 
rProjectSurveyDataJustVariables = read.csv(R Project Survey Data Just
Variables.csv, header = TRUE)
solution - fa(r = rProjectSurveyDataJustVariables, nfactors = 4,  rotate =
oblimin, fm = ml, scores = tenBerge, warnings = TRUE, oblique.scores =
TRUE) 
solution

Thank you.

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.