合并R

时间:2018-04-11 07:18:56

标签: r merge dplyr data.table range

我有一个问题,我可以获得有关被占用单元格范围的信息。可能存在该范围的多个开始和结束条目,其可以针对相同的测试重叠。并非所有"测试"有条目。 我在R中有一个数据框,想要合并每个" test"的所有唯一范围。

x<-data.frame(test=c(2,3,3,2,3,4),start=c(1,1,1,2,3,4),end=c(1,2,3,3,4,4))
> x
  test start end
1    2     1   1
2    3     1   2
3    3     1   3
4    2     2   3
5    3     3   4
6    4     4   4

我想将此数据框转换为:

  test start end
1    2     1   1
2    2     2   3
3    3     1   4
4    4     4   4

最后,我只想知道每个&#34;行&#34;的范围占用了多少个单元,所以第2行有(1,1)和(2,3),这意味着3个单元。第3行有(1,4)所以4个单元格。第4行有(4,4)所以1个单元格。因为第1行或第5行到n都没有占用,所以都是0个单元格:

u<-unique(y[,1])
a<-rep(0,length(u))
for(i in 1:length(u)){
  a[i]<-sum(y[which(y[,1]==u[i]),3]-y[which(y[,1]==u[i]),2])+length(which(y[,1]==u[i]))
}
> a
[1] 3 4 1

0 个答案:

没有答案