【问题标题】:How to prevent histogram() from changing data when setting xlim设置 xlim 时如何防止 histogram() 更改数据
【发布时间】:2016-05-14 22:38:26
【问题描述】:

我正在使用 lattice 的直方图来创建汽车 MPG 测量值的密度图:

histogram(~mtcars20$City.MPG)

由于某种原因,添加 xlim 会扭曲数据:

histogram(~mtcars20$City.MPG,xlim=c(0,30))

请注意,数据现在介于 0 和 8 之间,而不是 17 和 24 之间。有人知道这是为什么吗?

【问题讨论】:

  • 能否请您提供数据和/或代码,以便为我们提供reproducible example ? (我没有mtcars20;我可以通过data(mtcars) 获得mtcars。)我无法用mtcars 数据集和mpg 变量复制问题。

标签: r histogram lattice


【解决方案1】:

mtcars$mpg 是数字所以没有问题。 mtcars20$City.MPG 似乎是一个因素,即数字 1:6,标签为 17、18、20、22、23、24。当您使用 xlim 从零开始时,它会将其解释为您希望如何重新标记因子。它不知道您希望标签与这些数字相对应。你可以使用as.numeric(as.character(mtcars20$City.MPG))。但实际上 mpg 不应该是一个因素。

【讨论】:

  • 我花了一些时间,但这也是我最终想通的。对不起之前的海报。我不知道该文件实际上与标准 R 示例文件有点不同,因为 mpg 列确实包含因子。单独使用 as.numeric 不起作用,因为它没有给我数字,而是因子水平为整数。 @DaveTurek 的答案可能有效,但我所做的是在导入数据集时设置 stringsAsFactors=F。抱歉回复晚了。
猜你喜欢
  • 1970-01-01
  • 2013-09-22
  • 2011-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多