Is it possible to perform principal component analysis on variables that have different number of rows of data?

For instance, if there were just three variables - Var1, Var2, Var3 - where Var1 has 100 rows of data, Var2 has 50 rows, and Var3 has 20 rows. Can PCA be performed on such a data set? If PCA is possible, do I simply pad the empty ones with zero or is some sort of transformation needed?

Had all variables been the same dimension (e.g. Var1, Var2, Var3 all has 100 rows of data), then there would be no issue. Unfortunately my data set is not so trivial.

Please advise. Thanks!


You are going to have issues with performing PCA with such amounts of missing data. The analysis is either going to exclude cases with missing values, or some type of imputation will need to be performed. Say you have 100 rows, with Var3 which has only 20 rows (i.e. only 20% of rows have values) you may have issues with accurate imputation, which of course will then create issues for the validity of the PCA results.

  • $\begingroup$ It probably depends to some extent on why there is so much missing data. If that's because some test is too expensive and was only done on a randomly chosen sub-sample, it doesn't seem so bad (beyond the fact that 20 is a small sample size in any case). $\endgroup$ – Gala Mar 4 '12 at 10:43
  • 2
    $\begingroup$ I agree with the essentials in @Michelle's answer, although strictly speaking the procedure can be accomplished in some conditions with some software. In SPSS you can choose "pairwise deletion" and it's possible you will be able to obtain some sort of solution. But I think it's safe to say that with only 20 complete rows listwise you would not want to trust those PCA results. There are just too many parameters/relationships being estimated based on too little data. $\endgroup$ – rolando2 Mar 4 '12 at 13:24
  • $\begingroup$ @rolando2 and depending on how any imputation is done, there could be circularity with the imputation and PCA result. $\endgroup$ – Michelle Mar 4 '12 at 16:49
  • 1
    $\begingroup$ @Michelle - agreed, though pairwise deletion in and of itself does not require that any values be imputed. The pairwise/listwise choice is separate from the choice of whether or how to impute values for missing ones. (At least in SPSS and, I believe, in SAS.) $\endgroup$ – rolando2 Mar 4 '12 at 17:18
  • $\begingroup$ @rolando2 agreed, maybe I should have emphasized that pairwise deletion and imputation are two different approaches - I may not have sufficiently distinguished that in my answer. $\endgroup$ – Michelle Mar 4 '12 at 20:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.