【发布时间】:2021-02-19 22:37:14
【问题描述】:
虽然这个问题看起来与其他问题相似,但我的想法有一个关键区别。
因此,理想情况下,我将能够知道每个条件下密度曲线的最高峰对应的强度(x 轴值)。
这是一些虚拟数据:
set.seed(1234)
library(tidyverse)
library(fs)
n = 100000
silence = factor(c("sil1", "sil2", "sil3", "sil4", "sil5"))
treat = factor(c("con", "uos", "uos+wnt5a", "wnt5a"))
silence = rep(silence, n)
treat = rep(treat, n)
intensity = sample(4000:10000, n)
df <- cbind(silence, treat, intensity)
df$silence <- silence
df$treat <- treat
- 我尝试过的:
- 对主要 DF 进行子集化并计算每个条件的密度,但这可能需要几天时间
- 接近这个答案的东西:Calculating peaks in histograms or density functions 但不完全是。我个人认为数据作为直方图看起来更好,但这为强度数据构建了任意数量的箱(连续测量)。直方图如下所示:
同样,只需在控制台中获取每个组的峰值(即通过沉默子分布进行治疗)就足够了,但将它们作为垂直线添加到这些图表将是顶部的甜樱桃(它也可能使它很忙,所以我稍后会看到那部分)
谢谢!!
【问题讨论】:
-
你用什么代码来绘制密度曲线?
-
请检查您的虚拟数据的代码,为我产生多个错误,例如如果
source不是现有对象,source = rep(source, n)将不起作用。 -
谢谢 ^ 我已经更新它以反映所需的数据
-
你用什么代码来绘制密度曲线?我提供了一个答案,它采用预先存在的图并提取每个方面中每条曲线的顶点,但如果您正在寻找一种在上游找到这些值的解决方案,这取决于您使用的方法和参数生成你的密度曲线。
-
ggplot 中的 geom_density()
标签: r ggplot2 probability-density