我有以下数据
Species <- c(rep('A', 47), rep('B', 23))
Value<- c(3.8711, 3.6961, 3.9984, 3.8641, 4.0863, 4.0531, 3.9164, 3.8420, 3.7023, 3.9764, 4.0504, 4.2305,
4.1365, 4.1230, 3.9840, 3.9297, 3.9945, 4.0057, 4.2313, 3.7135, 4.3070, 3.6123, 4.0383, 3.9151,
4.0561, 4.0430, 3.9178, 4.0980, 3.8557, 4.0766, 4.3301, 3.9102, 4.2516, 4.3453, 4.3008, 4.0020,
3.9336, 3.5693, 4.0475, 3.8697, 4.1418, 4.0914, 4.2086, 4.1344, 4.2734, 3.6387, 2.4088, 3.8016,
3.7439, 3.8328, 4.0293, 3.9398, 3.9104, 3.9008, 3.7805, 3.8668, 3.9254, 3.7980, 3.7766, 3.7275,
3.8680, 3.6597, 3.7348, 3.7357, 3.9617, 3.8238, 3.8211, 3.4176, 3.7910, 4.0617)
D<-data.frame(Species,Value)
我有两个物种 A 和 B,想找出哪个是确定物种的最佳价值截止点。
我发现了以下问题:
并按照接受的答案dose.p
从 MASS 包中找到函数的最佳值。我有几个类似的值,它适用于它们,但不适用于上面给出的值(这也是我需要在此处包含所有 70 个观察值的原因)。
D$Species_b<-ifelse(D$Species=="A",0,1)
my.glm<-glm(Species_b~Value, data = D, family = binomial)
dose.p(my.glm,p=0.5)
给我 3.633957 作为阈值:
Dose SE
p = 0.5: 3.633957 0.1755291
这导致 45 个正确的分配。但是,如果我查看数据,很明显这不是最佳值。通过反复试验,我发现 3.8 给了我 50 个正确的作业,这显然更好。
为什么该函数适用于其他值,但不适用于这个?我错过了一个明显的错误吗?或者是否有不同/更好的方法来解决我的问题?我有几个值需要这样做,所以我真的不想只是随机测试值,直到找到最好的值。
任何帮助将不胜感激。