## ------------------------------------------------------------------------ library(FactoMineR) ## ------------------------------------------------------------------------ sabor<-c(2.75,3.90,3.12,4.58,3.97,3.01,4.19,3.82) aroma<-c(4.03,4.12,3.97,4.86,4.34,3.98,4.65,4.12) massa<-c(2.80,3.40,3.62,4.34,4.28,2.90,4.52,3.62) recheio<-c(2.62,3.52,3.05,4.82,4.98,2.82,4.77,3.71) produto<-c(paste( 'C' ,1:8,sep="")) coxa<-data.frame(sabor,aroma,massa,recheio,produto) ## ------------------------------------------------------------------------ coxa ## ------------------------------------------------------------------------ summary(coxa) ## ------------------------------------------------------------------------ condes(coxa[,1:4],num.var=1) ## ------------------------------------------------------------------------ prcomp(coxa[,1:4]) # base ## ------------------------------------------------------------------------ estim_ncp(coxa[,1:4]) # factominer ## ------------------------------------------------------------------------ screeplot(prcomp(coxa[,1:4])) # base ## ------------------------------------------------------------------------ coxa.pca<-PCA(coxa[,1:4],scale=F) ## ------------------------------------------------------------------------ coxa.pca<-PCA(coxa[,1:4],scale=T) ## ------------------------------------------------------------------------ coxa.pca ## ------------------------------------------------------------------------ plot(coxa.pca,choix='var') ## ------------------------------------------------------------------------ plot(coxa.pca,choix='ind') ## ------------------------------------------------------------------------ coxa.pca$eig ## ------------------------------------------------------------------------ coxa.pcapr<-prcomp(coxa[,1:4]) names(coxa.pcapr) coxa.pcapr$rotation[,1] ## ------------------------------------------------------------------------ apply(coxa.pcapr$rotation[,1]*coxa[1,1:4],1,sum) ## ------------------------------------------------------------------------ y1<-0.456*2.75+0.223*4.03+0.477*2.8+0.717*2.62 y1 ## ---- results = "hide", message = FALSE---------------------------------- library(readxl) cafe<-read_excel('cafe.xls') ## ------------------------------------------------------------------------ head(cafe) ## ------------------------------------------------------------------------ summary(cafe) ## ------------------------------------------------------------------------ library(FactoMineR) par(mfrow=c(1,2)) cafe.pca<-PCA(cafe[,2:4]) ## ------------------------------------------------------------------------ par(mfrow=c(1,1)) plot(cafe.pca,choix=c('ind')) # linhas ## ------------------------------------------------------------------------ par(mfrow=c(1,1)) plot(cafe.pca,choix=c('var')) # colunas ## ------------------------------------------------------------------------ head(round(cafe.pca$ind$contrib[,1:2],2)) ## ------------------------------------------------------------------------ round(cafe.pca$var$contrib[,1:2],2) ## ------------------------------------------------------------------------ round(cafe.pca$var$coord[,1:2],2) ## ------------------------------------------------------------------------ round(cafe.pca$eig,2) ## ------------------------------------------------------------------------ library(bpca) ## ------------------------------------------------------------------------ bp2 <- bpca(cafe[,2:4],d=1:2,scale=F) plot.bpca.2d(bp2,var.cex=1.2,obj.cex=1.2,var.offset=.2, var.factor=.45) ## ------------------------------------------------------------------------ bp3 <- bpca(cafe[,2:4],d=1:3) plot.bpca.3d(bp3) ## ------------------------------------------------------------------------ plot.bpca.3d(bp3,rgl=T) ## ------------------------------------------------------------------------ orange<-read.table('http://factominer.free.fr/book/orange.csv', h=T,sep=';',dec='.',row.names=1) ## ------------------------------------------------------------------------ summary(orange) ## ------------------------------------------------------------------------ library(FactoMineR) X11() par(mfrow=c(1,2)) res.pca <- PCA(orange[,1:7]) ## ------------------------------------------------------------------------ res.pca ## ------------------------------------------------------------------------ par(mfrow=c(1,1)) plot(res.pca,choix=c('ind')) ## ------------------------------------------------------------------------ par(mfrow=c(1,1)) plot(res.pca,choix=c('var')) ## ------------------------------------------------------------------------ round(res.pca$var$coord[,1:2],2) ## ------------------------------------------------------------------------ round(res.pca$eig,2) ## ------------------------------------------------------------------------ round(res.pca$ind$contrib[,1:2],2) ## ------------------------------------------------------------------------ round(res.pca$var$contrib[,1:2],2) ## ------------------------------------------------------------------------ par(mfrow=c(1,2)) res.pca <- PCA(orange,quanti.sup=8:14, quali.sup=15:16) ## ------------------------------------------------------------------------ par(mfrow=c(1,1)) plot(res.pca,choix=('var')) ## ------------------------------------------------------------------------ par(mfrow=c(1,1)) plot(res.pca,choix=('ind')) ## ------------------------------------------------------------------------ biplot(prcomp(orange[,1:7])) ## ------------------------------------------------------------------------ prcomp(orange[,1:7]) ## ------------------------------------------------------------------------ library(bpca) ## ------------------------------------------------------------------------ bp2 <- bpca(orange[,1:7],d=1:2) plot.bpca.2d(bp2,var.cex=1.2,obj.cex=1.2) ## ------------------------------------------------------------------------ bp3 <- bpca(orange[,1:7],d=1:3) plot.bpca.3d(bp3) ## ---- eval=FALSE--------------------------------------------------------- ## plot.bpca.3d(bp3,rgl=T)