我正在尝试在R中创建一个框图,显示网站的有机访问者数量(从分析API中提取的数据)。
每个
数据很好,但是当我去创建箱图时,它显示为空,没有数据。
数据框称为“myData
”
以下是代码:
names(myData)
[1] "date" "visits"
> myData$yearmo <- year(myData$date)*100 + month(myData$date)
>
> boxplot(visits ~ yearmo, data=myData, main="Organic Visits",
+ xlab="Year-Month", ylab="Visits", col= "orange", ylim=c(0,.8), yaxt="n")
>
这是我得到的箱线图:
答案 0 :(得分:1)
我猜你的ylim
错了。你有y尺度的访问,最大绘图值设置为0.8,所以它可能超出1.5 IQR。
尝试删除ylim
:
boxplot(
visits ~ yearmo, data=myData, main="Organic Visits",
xlab="Year-Month", ylab="Visits", col= "orange", yaxt="n"
)
如果问题仍然存在,请检查您的数据框是否确实包含预期值。
BTW始终尝试提供reproducible example。没有它真的很难解决你的问题。
答案 1 :(得分:0)
箱形图需要x轴上的分类变量。你的myData $ yearmo变量是连续的。将代码更改为类似......
boxplot(visits ~ as.factor(year), data=myData)
这并不能准确地给出您正在寻找的x轴,但它会生成一个图表,您可以在得到箱图工作后弄清楚如何制作正确的分类变量。最终,以下代码行可能会为箱图生成错误类型的数据:
myData$yearmo <- year(myData$date)*100 + month(myData$date)
我不确定使用year()和month()作为函数是否正确,或者实际上它们来自哪个包。我确信的是,结果对象不是绝对的。此外,此时无需为ylim提出论证,只会导致问题。