[英]Visualize data using histogram in R
我正在嘗試可視化一些數據,為了做到這一點,我正在使用R的hist
。
貝婁是我的數據
jancoefabs <- as.numeric(as.vector(abs(Janmodelnorm$coef)))
jancoefabs
[1] 1.165610e+00 1.277929e-01 4.349831e-01 3.602961e-01 7.189458e+00
[6] 1.856908e-04 1.352052e-05 4.811291e-05 1.055744e-02 2.756525e-04
[11] 2.202706e-01 4.199914e-02 4.684091e-02 8.634340e-01 2.479175e-02
[16] 2.409628e-01 5.459076e-03 9.892580e-03 5.378456e-02
現在,您可能會更狡猾地猜測到這些是某些模型系數的絕對值。
我需要的是軸的直方圖:
x
將是系數的總數( count
或length
),其總數為19。
y
將根據每列的min
和max
(或類似值)顯示設置為ylim=""
的每一列的值(作為breaks
?)。
請注意, Janmodelnorm$coef
只會產生以下內容
(Intercept) LON LAT ME RAT
1.165610e+00 -1.277929e-01 -4.349831e-01 -3.602961e-01 -7.189458e+00
DS DSA DSI DRNS DREW
-1.856908e-04 1.352052e-05 4.811291e-05 -1.055744e-02 -2.756525e-04
ASPNS ASPEW SI CUR W_180_270
-2.202706e-01 -4.199914e-02 4.684091e-02 -8.634340e-01 -2.479175e-02
W_0_360 W_90_180 W_0_180 NDVI
2.409628e-01 5.459076e-03 -9.892580e-03 -5.378456e-02
到目前為止, ?hist
,我正在嘗試使用下面的代碼,但沒有成功。 因此,我從頭開始。
# hist(jancoefabs, col="lightblue", border="pink",
# breaks=8,
# xlim=c(0,10), ylim=c(20,-20), plot=TRUE)
設置plot=FALSE
,我會得到一些有關該設置的有用信息。 我也發現很難有效地使用breaks
參數。
任何建議將不勝感激。 謝謝。
除了使用hist
,為什么不使用barplot
或標准plot
。 例如,
## Generate some data
set.seed(1)
y = rnorm(19, sd=5)
names(y) = c("Inter", LETTERS[1:18])
然后畫出系數
barplot(y)
或者,您可以使用散點圖
plot(1:19, y, axes=FALSE, ylim=c(-10, 10))
axis(2)
axis(1, 1:19, names(y))
並添加誤差線以指示標准誤差(例如,請參見添加誤差線以在R中的圖上顯示標准偏差 )。
您確定要為此使用直方圖嗎? 格子barchart
可能非常不錯。 mtcars
內置數據集的示例。
> coef <- lm(mpg ~ ., data = mtcars)$coef
> library(lattice)
> barchart(coef, col = 'lightblue', horizontal = FALSE,
ylim = range(coef), xlab = '',
scales = list(y = list(labels = coef),
x = list(labels = names(coef))))
基本的R dotchart
也可能很好,
> dotchart(coef, pch = 19, xlab = 'value')
> text(coef, seq(coef), labels = round(coef, 3), pos = 2)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.