【问题标题】:R count occurrences in a list of numerical vector [closed]R计数数值向量列表中的出现次数[关闭]
【发布时间】:2013-12-11 13:38:03
【问题描述】:

我有这个匹配的基因和基因组位置列表

$HES2
 [1] 6472685 6472960 6473183 6473556 6473721 6473880 6474011 6474016 6474021
[10] 6474026 6474031 6474036 6474595 6475487 6475525 6475625 6475843 6475847
[19] 6475851 6476040 6476416 6477257 6477498 6477543 6478033 6478181 6480077
[28] 6481025 6481370 6481426 6483450 6483762 6483892 6484023 6484664

$HGFAC
[1] 3444133 3444265 3445567 3448970 3449333 3450621

我想计算一个片段箱中的出现次数,比如说 100 个碱基对,并报告这个特定片段中的基因和计数,让我给你看虚拟数据

HES2  6474026-6474126  150
HES2  6475038-6475138  589

提前致谢

【问题讨论】:

  • 你能告诉我们你到目前为止所做的尝试吗?
  • 你是怎么得到 150 和 589 的?
  • 另外,请提供准确的输入和输出格式。根据描述,您提供的最后一个对象似乎混合了输入(箱)和输出(频率)。
  • 首先你应该把这个列表重塑成一个数据框类型的长数据结构。那么你可以更轻松地处理它。

标签: r list


【解决方案1】:

不确定我是否遗漏了什么,但这就是你想要的吗?

HES2<-c("6472685" ,"6472960" ,"6473183" ,"6473556" ,"6473721" ,"6473880" ,"6474011", "6474016" ,"6474021","6474026" ,"6474031" ,"6474036" ,"6474595", "6475487", "6475525" ,"6475625", "6475843", "6475847","6475851", "6476040" ,"6476416", "6477257", "6477498", "6477543" ,"6478033" ,"6478181" ,"6480077","6481025" ,"6481370", "6481426" ,"6483450" ,"6483762" ,"6483892", "6484023" ,"6484664")

HES2<-as.numeric(HES2)
bin_w<-100
h=hist(x=HES2,breaks=bin_w,plot=FALSE)
counts<-data.frame(from=h$breaks,to=h$breaks+bin_w,count=c(h$count,0))
counts[which(counts$count>0),]

      from      to count
1  6472600 6472700     1
4  6472900 6473000     1
6  6473100 6473200     1
10 6473500 6473600     1
12 6473700 6473800     1
13 6473800 6473900     1

【讨论】:

  • 谢谢特洛伊,这是一个开始,但我认为它可以应用于列表
  • @user976991 ,接受 Troy 的回答,然后在 plyr 包中查看 ?ldply
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多