【发布时间】:2017-10-30 19:02:29
【问题描述】:
我必须绘制判别分析函数的结果。但是判别函数给了我三个 LD , LD1,LD2,LD3 。
我只知道如何使用此代码在 2D 中绘图。(X=LD2 和 Y=LD1):
library(gridExtra)
library(MASS)
library(ggplot2)
library(scales)
require(MASS)
require(ggplot2)
require(scales)
require(gridExtra)
pca <- prcomp(tab[,-17],
center = TRUE,
scale. = TRUE)
prop.pca = pca$sdev^2/sum(pca$sdev^2)
lda <- lda(Y ~ .,
tab,
prior = c(1,1,1,1)/4)
r <- lda(formula = Y ~ .,
data = tab,
prior = c(1,1,1,1)/4)
prop.lda = r$svd^2/sum(r$svd^2)
plda <- predict(object = lda,
newdata = tab)
dataset = data.frame(Y = tab[,"Y"],
pca = pca$x, lda = plda$x)
df=data.frame(lda.LD1,lda.LD2,lda.LD3)
scatterplot3d(df[, 1:3], pch = 16, grid=FALSE, box=FALSE)
p1 <- ggplot(dataset) + geom_point(aes(lda.LD1, lda.LD2,colour = Y, shape = Y), size = 2.5) +
labs(x = paste("LD1 (", percent(prop.lda[1]), ")", sep=""),
y = paste("LD2 (", percent(prop.pca[2]), ")", sep=""))
p2=ggplot(dataset) + geom_point(aes(pca.PC1, pca.PC2, colour = Y, shape = Y), size = 2.5) +
labs(x = paste("PC1 (", percent(prop.pca[1]), ")", sep=""),
y = paste("PC2 (", percent(prop.pca[2]), ")", sep=""))
grid.arrange(p1, p2)
它给了我这个不太清楚的图表:
如何处理 PC3 和 LD3 以进行 3D 绘图并使其更加可见??
【问题讨论】:
标签: r