2
我有以下數據集:重塑DF到數據面板模型
df1 <- data.frame(country = c("A", "B","A","B"), year = c(2011,2011,2012,2012), variable_1= c(1,3,5,7))
df2 <- data.frame(country = c("A", "B","A","B"), year = c(2011,2012,2012,2013), variable_2= c(2,4,6,8))
df3 <- data.frame(country = c("A", "C","C"), year = c(2011,2011,2013), variable_3= c(9,9,9))
我想他們重塑成一個面板數據模型,這樣我就可以得到以下結果:
df4 <- data.frame(country = c("A","A","A","B","B","B","C","C","C"), year = c(2011,2012,2013,2011,2012,2013,2011,2012,2013), variable_1 = c(1,5,NA,3,7,NA,NA,NA,NA), variable_2 = c(2,6,NA,NA,4,8,NA,NA,NA), variable_3 = c(9,NA,NA,NA,NA,NA,9,NA,9))
我搜索了這個信息,但我發現的主題(Reshaping panel data)沒有幫助我。
關於如何做到這一點的任何想法?我的真實數據集有數千行(「國家」),幾個變量,年份和NA,因此請考慮這一點。
我剛剛發現自己減少,我很高興你讓我想起了在這裏。我認爲你可以做'減少(full_join,列表(df1,df2,df3))%>%完成(國家,年份)'。 – jowalski
你說得對。它可以被簡化。我會相應地編輯。 –
很好的解決方案。有用的新功能添加到'tidyr' –