gpt4 book ai didi

r - 某些组中的错误对于 'qda' 来说太小了

转载 作者:行者123 更新时间:2023-12-03 08:11:26 25 4
gpt4 key购买 nike

# load the library and data
library('MASS')
library('sqldf')
data(fgl, package = 'MASS')
df <- data.frame(fgl)
# (a)select chosen glass types
#adf <- sqldf("select * from df where type='WinF' or type='WinNF' or type='Veh' or type='Head'")
adf <- subset(df, type=="WinF"|type=="WinNF"|type=="Veh"|type=="Head")

traindata <- adf[1:128,]
testdata <- adf[129:192,]
#typetesting <- adf$type[129:192,]
# LDA
# fit the qad model based on the training
qdamodel = qda(type~RI+Na+Mg+Al+Si+K+Ca+Ba+Fe, data=traindata)

我有一个错误
Error in qda.default(x, grouping, ...) : 
some group is too small for 'qda'

我同时使用 sqldfsubset功能,但它们不起作用。谢谢。

最佳答案

变量 type是一个具有 6 个级别的因子:“WinF”、“Veh”、“Head”、“WinNF”、“Con”和“Tabl”。当你这样做时:

adf <- subset(df, type=="WinF"|type=="WinNF"|type=="Veh"|type=="Head")

您保留其中 4 个级别的行,但变量本身仍然有 6 个级别。因此,您的样本中没有显示剩余的 2 个级别,这就是 qda提示。

您可以通过转换 type 来解决此问题回到字符变量:
adf$type <- as.character(adf$type)

然后进行其余的分析。

关于r - 某些组中的错误对于 'qda' 来说太小了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42615643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com