设置xlim时如何防止histogram()改变数据

How to prevent histogram() from changing data when setting xlim

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

histogram(~mtcars20$City.MPG)

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

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

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

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