我制作一个条形图来显示连续变量的分布,例如:上市价格的价格分布。 我生成了一些样本数据并用ggplot2制作了一个条形图。
IWebElement element = driver.FindElement(By.ClassName("button" or "btn"));
我的问题是
如何格式化xaxis标签,例如,1.22e + 03变为1220.
为什么最后一个bin成为NA?
我知道我可以使用geom_histogram来获取这些数据。但我只是想有一些灵活性,可以将连续变量切换成一些高度偏斜的数据。 很感谢任何形式的帮助。提前致谢。
答案 0 :(得分:3)
这两个问题都与cut()
有关。您应该阅读?cut
要避免类标签中的科学记数法,请使用参数dig.lab
。在您的示例中,cut(a, breaks=seq(min(a),max(a), 500), dig.lab = 6L)
似乎已足够。
NA
出现与您的breaks
参数相关的两个原因。首先,默认情况下,第一个中断会从cut()
中排除,以便a == min(a)
NA
的观察位置为include.lowest = TRUE
。要解决此问题,请使用seq(min(a), max(a), 500)
。
最后,您的最高值将被忽略,因为max(a)
会生成一个向量,该向量在max(a)
之前的500 的最后一个多位处停止,因此不包含{{1} }。要解决此问题,您需要确保seq的第二个参数是max(a)
之后的500的第一个倍数,如ceiling(max(a) / 500) * 500
。
因此,这应该有效:
d <-d %>%
mutate(b=cut(a, breaks=seq(min(a), ceiling(max(a) / 500) * 500, 500),
include.lowest = TRUE,
dig.lab = 6L)) %>%
group_by(b) %>% summarize(count=n())