R ggplot2对图形的X轴排序不正确

R ggplot2对图形的X轴排序不正确,r,ggplot2,R,Ggplot2,我正在尝试创建一个两个月的用户登录行为图。我使用了ggplot2包中的qplot函数,并使用了以下代码 qplot(日期\时间、登录\计数、数据=客户端\登录\清除) 我绘制了一段时间内的login\u count,如下所示。不幸的是,y轴的num_records被排序为y轴上的前五个记号是1、10、106、11和12,而不是1、2、3、4和5。有人能告诉我怎么解决这个问题吗 几乎可以肯定,变量编码为因子而不是整数。尝试login\u count几乎可以肯定,您的变量编码为因子而不是整数。尝试l

我正在尝试创建一个两个月的用户登录行为图。我使用了
ggplot2
包中的
qplot
函数,并使用了以下代码

qplot(日期\时间、登录\计数、数据=客户端\登录\清除)

我绘制了一段时间内的
login\u count
,如下所示。不幸的是,y轴的num_records被排序为y轴上的前五个记号是1、10、106、11和12,而不是1、2、3、4和5。有人能告诉我怎么解决这个问题吗


几乎可以肯定,变量编码为因子而不是整数。尝试
login\u count几乎可以肯定,您的变量编码为因子而不是整数。尝试
login\u count这是因为,出于某种原因,您的
login\u count
变量是一个字符向量。ggplot在内部强制所有字符向量为因子,标签按字母顺序排列,然后根据该顺序对轴进行排序

我想我也知道为什么会发生这种情况:
“num_records”
实际上是您的
login_count
列中的一个值,所以整个过程都被强制为一个字符向量。删除该元素并将
用作.numeric
,则顺序应正确。这是一个阅读数据加载/生成过程并确保没有犯任何其他错误的好机会。有时,最微小的错误可以发现你从未注意到的巨大问题


作为旁注,这就是为什么在使用
字符
类变量和ggplot打印时要小心的原因。通过预先明确指定因子排序,您可以省去很多麻烦。

这是因为,出于某种原因,您的
login\u count
变量是一个字符向量。ggplot在内部强制所有字符向量为因子,标签按字母顺序排列,然后根据该顺序对轴进行排序

我想我也知道为什么会发生这种情况:
“num_records”
实际上是您的
login_count
列中的一个值,所以整个过程都被强制为一个字符向量。删除该元素并将
用作.numeric
,则顺序应正确。这是一个阅读数据加载/生成过程并确保没有犯任何其他错误的好机会。有时,最微小的错误可以发现你从未注意到的巨大问题


作为旁注,这就是为什么在使用
字符
类变量和ggplot打印时要小心的原因。通过预先明确指定因子排序,您可以省去很多麻烦。

login\u count
很可能是一个因子变量,而不是数字。在请求帮助进行验证时,您确实应该发布一条消息。
login\u count
很可能是一个因子变量,而不是数字。在请求帮助验证时,您确实应该发布。ggplot是一个非常固执己见且非常顽固的向导。ggplot是一个非常固执己见且非常顽固的向导。