我有一个名为“数据”的 DF,大约 10 000 行长(为了说明起见,我们会说 10 000)。我有一个名为“SimDelta”的数字列,我想将其放入 4 个类别(0-0.25、0.25-0.5、0.5-0.75 和 >0.75),我使用这段代码制作:
data$SimDeltaClass =
ifelse(data$SimDelta>0.75, ">0.75",
ifelse(data$SimDelta<0.75&data$SimDelta>0.5, "0.5-0.75",
ifelse(data$SimDelta<0.5&data$SimDelta>0.25, "0.25-0.5",
ifelse(data$SimDelta<0.25&data$SimDelta>0, "0-0.25", "void"))))
然后将其绘制到四个类别的箱线图中,每个类别中的样本数写在框上方,使用:
text(x=1,y=1.07,length(data$rMF[data$SimDeltaClass=="0-0.25"]),cex=0.8,col="black")
text(x=2,y=1.07,length(data$rMF[data$SimDeltaClass=="0.25-0.5"]),cex=0.8,col="black")
text(x=3,y=1.07,length(data$rMF[data$SimDeltaClass=="0.5-0.75"]),cex=0.8,col="black")
text(x=4,y=1.07,length(data$rMF[data$SimDeltaClass==">0.75"]),cex=0.8,col="black")
这部分(length(data$rMF[data$SimDeltaClass=="0-0.25"]))应该给出每组的数量。当这 4 个计数相加时,我得到的值超过 14 000,远远超过我预期的 10 000。
为什么这不能正确形成类别?我基于我之前写的一篇非常有效的文章,所以我不确定 R(或我自己)正在努力解决什么问题。
显然我需要编辑 ifelse() 部分,因为它们包含错误的赋值,但我不知道该怎么做
注意:没有错误消息或警告,并且 str() 与有效的版本相同