[英]merging irregular time series datset with a regular time series data in R
您好我正在嘗試合並兩個數據集,一個具有常規時間序列(數據幀 A),另一個具有不規則時間序列(數據幀 B)。 這兩個數據框看起來像:
Dataframe A:
時間 | 國家 | 行動 |
---|---|---|
198001 | 一個 | 1 |
198002 | 一個 | 0 |
198003 | 一個 | 0 |
198004 | 一個 | -1 |
... | ||
201210 | Z | 1 |
201211 | Z | 0 |
201212 | Z | 0 |
Dataframe B:
時間 | 國家 | 派對 | 多變的 |
---|---|---|---|
198002 | 一個 | A1 | X |
201210 | Z | Z1 | 是 |
201212 | Z | Z2 | Z |
我嘗試使用 dplyr 中的 full_join,但隨后它為所有與 dataframe 2 中的觀察結果不重疊的時間范圍產生了 NA。
我現在的樣子:
時間 | 國家 | 行動 | 聚會 | 多變的 |
---|---|---|---|---|
198001 | 一個 | 1 | 不適用 | 不適用 |
198002 | 一個 | 0 | A1 | X |
198003 | 一個 | 0 | A1 | 不適用 |
198004 | 一個 | -1 | A1 | 不適用 |
... | ||||
201210 | Z | 1 | Z1 | 是 |
201211 | Z | 0 | Z1 | 不適用 |
201212 | Z | 0 | Z2 | Z |
相反,我希望將非重疊時間范圍 (NA) 中的觀察結果替換為 dataframe 2 中的最后一個觀察結果。
所以合並的 dataframe 看起來像:
時間 | 國家 | 行動 | 聚會 | 多變的 |
---|---|---|---|---|
198001 | 一個 | 1 | 不適用 | 不適用 |
198002 | 一個 | 0 | A1 | X |
198003 | 一個 | 0 | A1 | X |
198004 | 一個 | -1 | A1 | X |
... | ||||
201210 | Z | 1 | Z1 | 是 |
201211 | Z | 0 | Z1 | 是 |
201212 | Z | 0 | Z2 | Z |
您可以執行full_join
,然后fill
party
和variable
列。
result <- dplyr::full_join(A, B, by = c("time", "country")) %>%
tidyr::fill(party, variable, .direction = 'down')
result
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.