我有两个数据帧,数据通过"ID"标签连接,如下所示:
test_frame1<- data.frame(
ID = c("A","B","C"),
ElementType1 = c(1,6,1),
ElementType2= c(4,4,5),
ElementType3 = c('',6,1),
Notes = c("Something random","","Something else random")
)
test_frame2<-data.frame(
ID = c("A","A","A","A","A","A","B","B","B","B","B","B","B","B","B","C","C","C","C","C","C","C","C","C"),
Syllable = c(1,1,2,2,3,3,1,1,1,2,2,2,3,3,3,1,1,1,2,2,2,3,3,3),
ElementID = c(1,2,1,2,1,2,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3)
)
我想向TEST_Frame2添加一个新列来表示元素类型,如TEST_Frame1中的中间列所述.我希望对每个不同的音节重复这些元素类型,如下所示:
desired_frame<-data.frame(
ID = c("A","A","A","A","A","A","B","B","B","B","B","B","B","B","B","C","C","C","C","C","C","C","C","C"),
Syllable = c(1,1,2,2,3,3,1,1,1,2,2,2,3,3,3,1,1,1,2,2,2,3,3,3),
ElementID = c(1,2,1,2,1,2,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3),
ElementType= c(1,4,1,4,1,4,6,4,6,6,4,6,6,4,6,1,5,1,1,5,1,1,5,1)
)
我首先调换了TEST_Frame1,使元素类型位于同一列中,ID为列名.然后,我try 将TEST_Frame2分成一个按ID和音节分组的列表.此时,我希望将元素类型列中的值从TEST_Frame1合并、绑定或以其他方式粘贴到该ID对应的列表项中,并将其粘贴到TEST_Frame2中.看起来‘for loop’可能也会对此有所帮助.不过,我正在努力寻找合适的函数来根据列表元素标题的一部分合并一个列表和多个列.有什么简单的方法可以解决这个问题吗?