我试图确定密度图的半高处的宽度,我在上一篇文章中找到了以下代码:
d <- ggplot(A0, aes(DIAMETER)) +
geom_density()
xmax <- d$x[d$y==max(d$y, na.rm = TRUE)]
x1 <- d$x[d$x < xmax][which.min(abs(d$y[d$x < xmax]-max(d$y)/2))]
x2 <- d$x[d$x > xmax][which.min(abs(d$y[d$x > xmax]-max(d$y)/2))]
FWHM <- x2-x1
Run Code Online (Sandbox Code Playgroud)
当我执行它时,虽然我收到以下与函数 max() 相关的错误消息
Warning message:
In max(d$y, na.rm = TRUE) : no non-missing arguments to max; returning -Inf
Run Code Online (Sandbox Code Playgroud)
我环顾四周,发现这可能是由于我的数据集中存在 NA 值,但事实并非如此(下面的数据框结构)..有人知道我如何解决这个问题吗?提前致谢!
str(A0)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 387 obs. of 3 variables:
$ SAMPLE : Factor w/ 5 levels "A","B","C","D",..: 1 1 1 1 1 1 1 1 1 1 …Run Code Online (Sandbox Code Playgroud)