我有一个坐标(“开始”,“结束”)和标签(“本集团”)的数据帧:加快data.frame重排
a <- data.frame(start=1:4, end=3:6, group=c("A","B","C","D"))
a
start end group
1 1 3 A
2 2 4 B
3 3 5 C
4 4 6 D
我想创建一个新的数据帧,其中标签被分配给序列中的每个元素上的坐标的范围:
V1 V2
1 1 A
2 2 A
3 3 A
4 2 B
5 3 B
6 4 B
7 3 C
8 4 C
9 5 C
10 4 D
11 5 D
12 6 D
下面的代码工作,但它是极其缓慢的与宽范围:
df<-data.frame()
for(i in 1:dim(a)[1]){
s<-seq(a[i,1],a[i,2])
df<-rbind(df,data.frame(s,rep(a[i,3],length(s))))
}
colnames(df)<-c("V1","V2")
我该如何加快速度?