首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >标识特定范围内的值数

标识特定范围内的值数
EN

Stack Overflow用户
提问于 2015-01-09 21:20:41
回答 2查看 86关注 0票数 2

相对来说,我对R比较陌生,我有一个问题,就是如何识别在一定范围内的值的数量。

我有一个数据表,列名为单元格类型(20种细胞类型),然后是每种细胞类型的23000个基因的行名及其甲基化值(介于0到1之间)。我提供了以下数据集的示例(希望它是明确的!)

代码语言:javascript
复制
                 MCF-7     T47D     Kuramochhi   CAOV4      JHOS4
cg00964109 0.03425448 0.042629239 0.08461351 0.04095205 0.039999  
cg00967316 0.44065041 0.800911854 0.35689046 0.63291139 0.812005277  
cg00968475 0.64207018 0.910031909 0.06120248 0.84703547 0.084849946

我想要做的是运行一个循环(如果可能的话,运行一个更简单的方法!)确定甲基化值在以下范围内的基因数目: 0-0.0999,0.1-0.1999,0.2-0.29999等,每种细胞类型的甲基化值为0.9-1。我还想对整个数据表进行类似的分析(即甲基化值在上述范围内的基因数目)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-09 21:37:53

这里有一个方法:

代码语言:javascript
复制
R> apply(Data,2,function(x){
      table(cut(x,seq(0,1,.1),right=F))
  })
          MCF-7 T47D Kuramochhi CAOV4 JHOS4
[0,0.1)      99  105        102   103   100
[0.1,0.2)    99   90        116   105   102
[0.2,0.3)    98  103         93    92    97
[0.3,0.4)   108   91         91    93   105
[0.4,0.5)   103  114        104   101   107
[0.5,0.6)   100  111         77    97   105
[0.6,0.7)    98   89        110   103   102
[0.7,0.8)    97  100        110    81   109
[0.8,0.9)   106  112         90   110    94
[0.9,1)      92   85        107   115    79

数据:

代码语言:javascript
复制
set.seed(123)
Data <- matrix(runif(5000),ncol=5,
               dimnames=list(
                 paste0("gene_",1:1000),
                 c('MCF-7','T47D','Kuramochhi',
                   'CAOV4','JHOS4')))
票数 1
EN

Stack Overflow用户

发布于 2015-01-09 21:29:19

这至少能让你开始:

代码语言:javascript
复制
x <- read.table(text="MCF-7     T47D     Kuramochhi   CAOV4      JHOS4
cg00964109 0.03425448 0.042629239 0.08461351 0.04095205 0.039999  
cg00967316 0.44065041 0.800911854 0.35689046 0.63291139 0.812005277  
cg00968475 0.64207018 0.910031909 0.06120248 0.84703547 0.084849946")

apply(x, 1, function(value) length(which(value <= 0.0999)))
apply(x, 1, function(value) length(which(value >= 0.1 & value <= 0.1999)))
apply(x, 1, function(value) length(which(value >= 0.2 & value <= 0.2999)))

等。

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

https://stackoverflow.com/questions/27869448

复制
相关文章

相似问题

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