【问题标题】:Log Y-axis in Boxplot in R在 R 中的箱线图中记录 Y 轴
【发布时间】:2014-01-13 20:55:45
【问题描述】:

我的数据集中有 34 个变量。我正在尝试为每个变量制作箱线图。我也想使用对数 Y 轴。这是我的 R 代码:

boxplot(mydata,log="y")
#Warning message:
#In plot.window(xlim = xlim, ylim = ylim, log = log, yaxs = pars$yaxs) :
#  nonfinite axis limits [GScale(-inf,3.61878,2, .); log=1]

您能帮我纠正一下吗?另外,我需要这张图中的所有变量名称。

【问题讨论】:

  • 由于我们不知道mydata 长什么样子,所以这是一个刺,但是你拿mydata 的日志时有非有限的数字吗?即,任何带有0... 例如boxplot(0:10, log='y').

标签: r logging axis


【解决方案1】:

问题是在您的“mydata”中有包含的变量 “0”值。对于零值,y 轴的对数重新缩放 提供“-Inf”

log(0)
[1] -Inf

# I tried to reproduce your example:
library(datasets)
data(airquality)

x <- airquality
boxplot(x, log="y") # works fine!

# Now I'm going to manipulate the data by changing the first value of dataset.
x[1,1] <- 0
boxplot(x, log="y")

Warning message:
In plot.window(xlim = xlim, ylim = ylim, log = log, yaxs = pars$yaxs) :
  nonfinite axis limits [GScale(-inf,2.52375,2, .); log=1]

# To solve this problem I would suggest to replace all "0"-values to 
# "1" values. Why? Because after you want to build log-values, and log(1)=0

x[(x == 0)] <- 1
boxplot(x, log="y") # It works fine!

【讨论】:

  • 不客气!如果您喜欢它,请接受它作为答案。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2018-10-06
  • 2021-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多