簡體   English   中英

如何調整軸的刻度(或間隔)?

[英]How can I adjust axis' scale(or intervals)?

我想更改軸的比例(或間隔)。

另一方面,我對此有些麻煩。

這是我實現的代碼,如下所示。

install.packages("randomForestSRC")
install.packages("ggRandomForests")

library(randomForestSRC)
library(ggRandomForests)

data(pbc, package="randomForestSRC") 
pbc.na <- na.omit(pbc)

set.seed(123) 
rsf <- rfsrc(Surv(days, status)~., data=pbc.na,     
             ntree=500, nplist=1, importance=T, proximity=T)

out.vs <- var.select (rsf)
gg_md <- gg_minimal_depth(out.vs)
gg_both <- gg_minimal_vimp(gg_md)
plot(gg_both)

在這種情況下,圖形可以這樣顯示。 在此處輸入圖片說明

但是,我要做的是將x軸比例從0調整為22。

因此,盡管我按以下方式進行了添加的代碼,但是它沒有用。

#### It doest not work.
plot(gg_both)+
  ggplot2::scale_x_continuous(breaks=seq(0, 22, 1))


### It is working but no information about positive $ negative VIMP, dashed lines, etc.
ggplot2::ggplot(gg_both, ggplot2::aes(x=vimp, y=names))+
  ggplot2::geom_point(color="black")+
  ggplot2::scale_x_continuous(breaks=seq(0, 22, 1))

請讓我知道該怎么做。

一直謝謝

以下是使用ggplot()gg_both數據幀開始重建圖並添加刻度線的方法:

library(tidyverse)

max_pos <- gg_both %>% filter(col=="+") %>% select(vimp) %>% max
min_neg <- gg_both %>% filter(col=="-") %>% select(vimp) %>% min
vline <- (min_neg - max_pos) / 2 + max_pos

ggplot(gg_both, aes(x=vimp, y=reorder(names, depth), color=col)) + 
  geom_point() +
  scale_x_continuous(breaks=1:22, labels=1:22) +
  geom_abline(slope=1, lty=2, color="red") +
  geom_vline(xintercept = vline, lty=2, color="red") + 
  geom_hline(yintercept = attr(gg_both, "modelsize") + .5, lty=2, color="red")

VIMP

解釋(摘自ggRandomForests: Random Forests for Regression )arXiv論文:

  • 顏色和對角線:

    紅色虛線上的點被等效排名,下方的點具有更高的VIMP,上方的點具有更高的最小深度排名。 變量以VIMP度量的符號着色。

  • 垂線:

    垂直虛線表示重要變量的最大最小深度。

  • 水平線(本文未提及,但在源代碼中 ):

    ...我們可以在MD選擇點放置一條水平線。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM