为什么在创建 bean plot 时出现 density.default 错误
why do I get Error in density.default while creating bean plot
我正在尝试创建一个 beanplot:
library(beanplot)
beanplot(df, col="#cccccc", log="y", names="plot-1", yaxt="n", overallline="median", ll=0.00001)
但是,我收到以下错误:
Error in density.default(mlog(x), bw = bw, kernel = kernel, from = from, :
non-finite 'from'
有人可以帮忙吗?
如果没有看到您的数据就无法确定,但我怀疑您的问题来自于输入中有一个或多个零,然后试图在对数刻度上绘制它的密度。
我可以像这样重现你的问题:
library(beanplot)
df <- data.frame(x = 0:10)
beanplot(df, col="#cccccc", log = 'y', names="plot-1",
overallline="median", ll=0.00001)
#> Error in density.default(mlog(x), bw = bw, kernel = kernel, from = from, :
#> non-finite 'from'
如果我们删除零,我们会得到一个图:
beanplot(df[df$x != 0,], col="#cccccc", log = 'y', names="plot-1",
overallline="median", ll=0.00001)
或者我们可以删除对数刻度并保留零:
beanplot(df, col="#cccccc", names="plot-1", overallline="median", ll=0.00001)
但显然我们不能同时保持零 和 具有对数刻度,因为零的对数在 R 中被解释为负无穷大。
我正在尝试创建一个 beanplot:
library(beanplot)
beanplot(df, col="#cccccc", log="y", names="plot-1", yaxt="n", overallline="median", ll=0.00001)
但是,我收到以下错误:
Error in density.default(mlog(x), bw = bw, kernel = kernel, from = from, :
non-finite 'from'
有人可以帮忙吗?
如果没有看到您的数据就无法确定,但我怀疑您的问题来自于输入中有一个或多个零,然后试图在对数刻度上绘制它的密度。
我可以像这样重现你的问题:
library(beanplot)
df <- data.frame(x = 0:10)
beanplot(df, col="#cccccc", log = 'y', names="plot-1",
overallline="median", ll=0.00001)
#> Error in density.default(mlog(x), bw = bw, kernel = kernel, from = from, :
#> non-finite 'from'
如果我们删除零,我们会得到一个图:
beanplot(df[df$x != 0,], col="#cccccc", log = 'y', names="plot-1",
overallline="median", ll=0.00001)
或者我们可以删除对数刻度并保留零:
beanplot(df, col="#cccccc", names="plot-1", overallline="median", ll=0.00001)
但显然我们不能同时保持零 和 具有对数刻度,因为零的对数在 R 中被解释为负无穷大。