当我在 R 控制台中运行以下代码时,我在第 10 行收到以下错误:
“lda.default(x, grouping, ...) 中的错误:变量 5 6 在组内似乎是常数”
然而,其余的代码仍然被处理并绘制了数据。但是当我将此代码集成到我闪亮的应用程序中时,绘图面板会显示错误消息而没有其他内容。
有没有办法解决这个问题?
输入:
require(MASS)
require(ggplot2)
require(scales)
require(gridExtra)
x = 'Species'
ex = iris[, x]
lda <- lda(ex ~ ., iris)
prop.lda = lda$svd^2/sum(lda$svd^2)
plda <- predict(object = lda, newdata = iris)
dataset = data.frame(colAndShape = iris[,"Species"], lda = plda$x)
p1 <- ggplot(dataset) + geom_point(aes(lda.LD1, lda.LD2, colour = colAndShape, shape = colAndShape), size = 2.5) +
labs(x = paste("LD1 (", percent(prop.lda[1]), ")", sep=""),
y = paste("LD2 (", percent(prop.lda[2]), ")", sep=""))
grid.arrange(p1)
控制台输出:
> require(MASS)
> require(ggplot2)
> require(scales)
> require(gridExtra)
>
> x = 'Species'
>
> ex = iris[, x]
>
> lda <- lda(ex ~ ., iris)
Error in lda.default(x, grouping, ...) :
variables 5 6 appear to be constant within groups
>
> prop.lda = lda$svd^2/sum(lda$svd^2)
>
> plda <- predict(object = lda,
+ newdata = iris)
>
> dataset = data.frame(colAndShape = iris[,"Species"], lda = plda$x)
>
> p1 <- ggplot(dataset) + geom_point(aes(lda.LD1, lda.LD2, colour = colAndShape, shape = colAndShape), size = 2.5) +
+ labs(x = paste("LD1 (", percent(prop.lda[1]), ")", sep=""),
+ y = paste("LD2 (", percent(prop.lda[2]), ")", sep=""))
>
> grid.arrange(p1)