Próbowałem przeanalizować ramkę danych XML do R, ten link bardzo mi pomógł:
jak utworzyć ramkę danych R z pliku xml
Ale nadal nie byłem w stanie rozwiązać mojego problemu:
Oto mój kod:
data <- xmlParse("http://forecast.weather.gov/MapClick.php?lat=29.803&lon=-82.411&FcstType=digitalDWML")
xmlToDataFrame(nodes=getNodeSet(data1,"//data"))[c("location","time-layout")]
step1 <- xmlToDataFrame(nodes=getNodeSet(data1,"//location/point"))[c("latitude","longitude")]
step2 <- xmlToDataFrame(nodes=getNodeSet(data1,"//time-layout/start-valid-time"))
step3 <- xmlToDataFrame(nodes=getNodeSet(data1,"//parameters/temperature"))[c("type="hourly"")]
Ramka danych, którą chcę mieć, wygląda następująco:
latitude longitude start-valid-time hourly_temperature
29.803 -82.411 2013-06-19T15:00:00-04:00 91
29.803 -82.411 2013-06-19T16:00:00-04:00 90
Utknąłem na tym xmlToDataFrame()
, Każda pomoc byłaby bardzo mile widziana, dzięki.
Oto częściowe rozwiązanie przy użyciu xml2. Podzielenie roztworu na mniejsze części ogólnie ułatwia upewnienie się, że wszystko jest w jednej linii:
źródło
Możesz wypróbować poniższy kod:
źródło