0

我正在尝试在 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")
>  

这是我得到的箱线图:

在此处输入图像描述

4

2 回答 2

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"
)

如果问题仍然存在,请检查您的数据框是否真的包含预期值。

顺便说一句,始终尝试提供可重现的示例。没有它真的很难解决你的问题。

于 2013-10-19T19:56:52.203 回答
0

箱线图需要 x 轴上的分类变量。您的 myData$yearmo 变量是连续的。将代码更改为...

    boxplot(visits ~ as.factor(year), data=myData)

这不会准确地为您提供您正在寻找的 x 轴,但它会生成一个图,并且一旦您的箱线图工作,您就可以弄清楚如何制作正确的分类变量。最终,以下代码行可能会为箱线图生成不正确的数据类型:

    myData$yearmo <- year(myData$date)*100 + month(myData$date)

我不确定使用 year() 和 month() 作为函数是否正确,或者实际上它们来自什么包。我确定的是结果对象不是分类的。另外,此时不需要为 ylim 输入参数,它只会引起问题。

于 2013-10-19T20:04:25.767 回答