[英]Why `as.factor` does not work when applied via `apply` function in R?
[英]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
引起的,因為如果您分別指定x
和y
,它就會起作用:
plot(as.factor(y), x, ann=FALSE)
更新:
確認它在graphics:::plot.formula
中。 調用plot
的行顯式設置ylab
和xlab
( funname
是"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.