Mam następujący ramkę danych:połączenia dwóch dane ramek
Date,Year,Austria,Germany,...
1969-12-31,1969,96.743,95.768,...
1970-01-30,1970,95.515,95.091,...
1970-02-27,1970,95.075,95.235,...
Docelowo chciałbym połączyć tę ramkę danych z innym, który wygląda tak:
Year,Country,Exp,...
1969,Austria,1,...
1970,Austria,0,...
1969,Germany,0,...
1970,Germany,1,...
Ja widzę to, że będę musiał zmienić pierwszą ramkę danych w następującej formie:
Date,Year,Country,Exp,…
1969-12-31,1969,Austria,96.743,...
1970-01-30,1970,Austria,95.515,...
1970-02-27,1970,Austria,95.075,...
1969-12-31,1969,Germany,95.768,...
1970-01-30,1970,Germany,95.091,...
1970-02-27,1970,Germany,95.235,...
Następnie można po prostu użyć FUNCT scalania i łączenie ich (jeden do wielu) za pomocą roku i kraju.
Próbowałem przekształcić ramkę danych zgodnie z powyższym opisem. Jednak jedyny sposób, jaki mogę wymyślić, to użycie kilku skomplikowanych pętli "dla". Byłoby bardzo cenne, gdyby ktoś miał łatwiejsze podejście. Ponadto, jeśli myślisz, że scalenie tych dwóch ramek danych może być wykonane w łatwiejszy sposób, który również byłby świetny.
Myślę, że funkcja przekształcania lub pakiet reshape2 zrobi to. –