0
我裝一個像這樣的大歐盟統計局數據集:多行CAST函數和時間列
install.packages("SmarterPoland")
library(SmarterPoland)
GDP_raw <- getEurostatRCV(kod = "namq_gdp_c")
它具有這樣的結構:
s_adj unit indic_na geo time value
1 NSA EUR_HAB B11 AT 2014Q1 NA
2 NSA EUR_HAB B11 BE 2014Q1 200.0
3 NSA EUR_HAB B11 BG 2014Q1 -100.0
我想用「時間」爲第一列和其他變量作爲行。做它周圍的其他方法很容易用:
GDP_sorted <- cast(GDP_raw, geo + unit + s_adj + indic_na ~ time)
返回:
geo unit s_adj indic_na 1955Q1 1955Q2 1955Q3 1955Q4
1 AT EUR_HAB NSA B11 NA NA NA NA
2 AT EUR_HAB NSA B111 NA NA NA NA
3 AT EUR_HAB NSA B112 NA NA NA NA
的問題是,這裏的列是變量,所以每一個季度是它自己的變量,它沒有任何意義從時間系列的角度來看。我需要某種轉置(簡單t()不會返回相同的數據類型)。但是,如果我嘗試投周圍的其他方式,它增加不同類別連成一個變量,並創建:
time AT_EUR_HAB_NSA_B11 AT_EUR_HAB_NSA_B111 AT_EUR_HAB_NSA_B112
1 1955Q1 NA NA NA
2 1955Q2 NA NA NA
3 1955Q3 NA NA NA
這意味着我有12405個變量。這使得子集不可行。我想沿線的東西:
time
s_adj NSA NSA NSA
geo AT AT AT
unit EUR_HAB EUR_HAB EUR_HAB
indic_na B11 B12 B13
1 1955Q1 NA NA NA
2 1955Q2 NA NA NA
3 1955Q3 NA NA NA
等等(這是一個虛構的例子)。那麼我可以使用:
Demand <- subset(GDP_sorted, (indic_na == "P3_P5") & (s_adj == "SWDA") & (unit == "MIO_EUR"))
而不必指定12405變量的變量的所有組合。