I have a 3000 x 18 table containing 18 variables (one per column) of both numerical and categorical type (6 categorical).
I would liket to do PCA on the whole dataset
but the command
[coeff,score]=pca(mytable) does not work.
any idea on how to proceed ?

 채택된 답변

Star Strider
Star Strider 2019년 5월 30일

2 개 추천

The pca function only accepts single-precision or double-precision numerical arrays. You most likely need to use the table2array (link) function first, to get the numeric data out of your table and into a form that pca can use.

댓글 수: 4

LO
LO 2019년 6월 7일
Thanks,
I have tried and I got this error message
Error using pca (line 168)
The value of X must not be an object.
the table is now in string format. this is not suitable for the PCA function.
I tried to convert the matrix to numerical values using str2num but I got the message "Input must be a character vector or string scalar"
Star Strider
Star Strider 2019년 6월 7일
Unless you can extract just the numerical values, you cannot use the pca function.
LO
LO 2019년 6월 7일
Got it, thanks. I thought categorical PCA was also possible with MATLAB.
Perhaps the answer is no. I will try to then exclude the non numerical variables and see if it works !
Star Strider
Star Strider 2019년 6월 7일
It should work in that instance.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Dimensionality Reduction and Feature Extraction에 대해 자세히 알아보기

태그

질문:

LO
2019년 5월 30일

댓글:

2019년 6월 7일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by