首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择R中“密度”对象的特定列

选择R中“密度”对象的特定列
EN

Stack Overflow用户
提问于 2015-02-09 04:41:19
回答 1查看 133关注 0票数 0

我需要从R中的密度对象中选择单独的观测,这与prior post有关,但我的数据的格式不同。

我从基因表达值"b“的矩阵开始,其中列代表10个观察,行代表1000个基因的表达水平。

代码语言:javascript
复制
b = matrix(rexp(1000),ncol=10)

接下来,我用每条观测作为一条单独的线来绘制密度图。

代码语言:javascript
复制
d = apply(b, 2, density, na.rm = TRUE)

plot(b, type="n", ylim=c(0,1))
for (i in 1:10) { lines( d[[i]] ) } 
abline(h=0.5)

如何选择“b”中的列,其密度在'b,1=0.5‘处的水平线以下?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-09 05:07:42

如果您想获得特定值的估计密度,可以使用approx和密度对象中的点。例如

代码语言:javascript
复制
yv <- sapply(d, function(d) {
    approx(d$x, d$y, .5)[["y"]]
})
yv
# [1] 0.7158584 0.5516512 0.7049119 0.6180026 ...

这将预测密度10中每个密度在x=.5处的x值。

代码语言:javascript
复制
which(yv<.5)
# [1] 5    # (your results may differ due to the random input)

因此,我们只看到第5列符合标准。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28402910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档