我有一個座標(「開始」,「結束」)和標籤(「本集團」)的數據幀:加快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")
我該如何加快速度?