我是R的初學者,對這個問題非常感興趣。你可以從下面的鏈接下載netCDF文件來看看。如何將我的時空NetCDF數據轉換爲空間數據?
https://drive.google.com/file/d/0ByY3OAw62EShbkF6VWNFUkRYMmM/view?usp=sharing
^這是8變量和8的尺寸我的NetCDF大氣數據文件。在這裏,我感興趣的變量是:
TIMSID是網站數量(包括城市網站,農村網站等)
URBAN ::城市網站數量[城市是3行250列矩陣。第1行是城市網站的數量,第2行是latidude,第3行是經度。]
TIME ::數據收集自2012年3月1日至2012年5月[編碼'時間'爲YYYYMMDDHH]
PM10 ::小時顆粒物濃度在每個站點的每個站點測量
我需要僅使用這些大數據集中的這4個變量。
我只需要在「2012年3月1日」的城市地點分開PM10值的數據。 (實際上,我需要在TIMSID變量中找到哪些網站是城市網站,並且僅針對2012年3月1日的城市網站匹配相應的PM10值。)
例如,在TIMSID中,存在城市,農村等不同類型的網站命名爲111121,111122,111123,111124,但城市網站編號爲111121,111123 ..等等,所以我必須從TIMSID數據中考慮只有城市網站,並且希望匹配相應的pm10值,時間,緯度,經度。然後最後想要創建一個新的數據集。
決賽桌/數據集應該是〜column1-time(2012年3月1日),第2列 - 城市站點數量,第(3,4)列 - 相應城市站點的海拔和經度,第5列每小時pm10值每個城市站點
我已經使用這些命令從NetCDF文件中讀取數據。但我不明白我該怎麼做更多...
install.packages("ncdf",dependencies=TRUE)
library(ncdf)
nc<-open.ncdf("2012_03_05_PM10_surface.nc")
print(nc)
tmsid<-get.var.ncdf(nc,"TMSID")
timsid
urban<-get.var.ncdf(nc,"urban")
urban
time<-get.var.ncdf(nc,"TIME")
pm10<-get.var.ncdf(nc,"PM10")
因爲我是初學者,所以我只知道基本的命令。我無法弄清楚,我應該學會解決這個問題的具體包。請幫助我?預先感謝您寶貴的時間。如果您需要更多信息,請隨時詢問我。
謝謝@plannapus。感謝R社區爲我啓發了關於R的想法,並且您能否建議我應該對這種類型的數據管理了解更多?最近我正在努力學習申請家庭。有些人會說'plyr'套餐,而不是申請家庭。你怎麼看? – Orpheus
作爲一個純粹的基礎純粹主義者,我認爲你應該首先學會使用'apply'系列,然後,如果你願意的話,'plyr':確實越來越多的人在使用它,所以你至少應該熟悉它來理解他們的代碼,並且我確信有一種方法可以做到我在這個答案中做了什麼,只是用plyr(而不是'lapply','do.call'和merge ',可以直接使用'ddply'我認爲):) – plannapus
非常感謝你@plannapus。我很喜歡這個網頁,並且可能在接下來的幾個月裏,我會不停地用你這個愚蠢的問題打擾你們。提前抱歉。 – Orpheus