簡體   English   中英

為什么在 R 中使用 `as.factor` 繪圖時`ann = F` 不起作用?

[英]Why does `ann = F` not work when plotting with `as.factor` in R?

我正在使用 R 中的plot()對一個因子繪制一個連續變量(參見下面的示例)。 我不想要軸上的標簽。 如果沒有公式中的as.factor調用ann = F會抑制標簽的打印,但它不適用於公式中的as.factor

為什么是這樣?

謝謝你。

# example for SO
# example data 
x <- sample(1:100, 10)
y <- c(rep(1, 5), rep(2, 5))

# ann = F doesn't work here
plot(x ~ as.factor(y), ann = F)

# ann = F does work here
plot(x ~ y, ann = F)

它似乎是由plot.formula引起的,因為如果您分別指定xy ,它就會起作用:

plot(as.factor(y), x, ann=FALSE)

更新:

確認它在graphics:::plot.formula中。 調用plot的行顯式設置ylabxlabfunname"plot"dots = list(ann=FALSE) ):

do.call(funname, c(list(mf[[i]], y, ylab = yl, xlab = xl), dots))

調度系統將不工作的發送到 plot.factor,然后發送到沒有 ann= 參數的箱線圖,而“工作”發送到 plot.data.frame,發送到 Z322AA46E1B78A964A.E.最終默認,這確實尊重 ann= 參數。 壓制命名。 利用:

plot(x ~ as.factor(y), names = rep("", 2))

暫無
暫無

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

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