[英]R programming ggvis histogram verses hist - How to size the buckets, and define X axis spacing (ticks)
我正在学习使用ggvis,并想了解如何创建与hist产生的等效直方图。 具体来说,如何在ggvis直方图中设置bin的宽度以及x的上下限? 我想念什么?
问题: 如何获得ggvis直方图输出以匹配历史输出?
让我举一个例子:
require(psych)
require(RCurl)
require(ggvis)
if ( !exists("impact") ) {
url <- "https://dl.dropboxusercontent.com/u/8272421/stat/stat_one.txt"
myCsv <- getURL(url, ssl.verifypeer = FALSE)
impact <- read.csv(textConnection(myCsv), sep = "\t")
impact$subject <- factor(impact$subject)
}
describe(impact)
hist(impact$verbal_memory_baseline,
main = "Distribution of verbal memory baseline scores",
xlab = "score", ylab = "frequency")
好吧,让我们尝试用ggvis进行重现...输出不匹配...
impact %>%
ggvis( x = ~verbal_memory_baseline, fill := "white") %>%
layer_histograms(width = 5) %>%
add_axis("x", title = "score") %>%
add_axis("y", title = "frequency")
如何获得ggvis输出以匹配历史输出?
> sessionInfo()
R version 3.2.2 (2015-08-14)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.2 (El Capitan)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] psych_1.5.6 knitr_1.11 ggvis_0.4.2.9000 setwidth_1.0-4 colorout_1.1-1 vimcom_1.2-3
loaded via a namespace (and not attached):
[1] Rcpp_0.12.0 digest_0.6.8 dplyr_0.4.3.9000 assertthat_0.1 mime_0.3
[6] R6_2.1.1 jsonlite_0.9.16 xtable_1.7-4 DBI_0.3.1 magrittr_1.5
[11] lazyeval_0.1.10.9000 rstudioapi_0.3.1 rmarkdown_0.7 tools_3.2.2 shiny_0.12.2
[16] httpuv_1.3.3 yaml_2.1.13 parallel_3.2.2 rsconnect_0.4.1.4 mnormt_1.5-3
[21] htmltools_0.2.6
尝试
impact %>%
ggvis( x = ~verbal_memory_baseline, fill := "white") %>%
layer_histograms(width = 5, boundary = 5) %>%
add_axis("y", title = "frequency") %>%
add_axis("x", title = "score", ticks = 5)
这使:
官方文档对boundary
和center
工作方式有些神秘。 看看DataCamp的R中如何使用ggvis制作直方图
width
参数已经将垃圾箱宽度设置为5,但是垃圾箱从哪里开始,在哪里结束? 您可以为此使用center
或boundary
参数。center
应参考箱的中心值之一,箱的中心值会自动确定其他箱的位置。boundary
参数指定容器之一的边界值。 同样,指定单个值将固定所有垃圾箱的位置。 由于这两个参数以不同的方式指定相同的事物,因此您最多应设置center
或boundary
。
如果要使用center
而不是boundary
来获得相同的结果,请尝试:
impact %>%
ggvis( x = ~verbal_memory_baseline, fill := "white") %>%
layer_histograms(width = 5, center = 77.5) %>%
add_axis("y", title = "frequency") %>%
add_axis("x", title = "score", ticks = 5)
您在此处指定垃圾箱的中心(77.5),它会自动确定所有其他垃圾箱
史蒂文斯的答案是正确的。
有了他的指导,我可以更深入地阅读文档:
layer_histograms():
http://www.rdocumentation.org/packages/ggvis/functions/layer_histograms
边界
add_axis()
http://www.rdocumentation.org/packages/ggvis/functions/add_axis
蜱
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.