看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 我想要讀多筆名稱相近的時間資料(nc檔)進R,資料的時間長度為一小時一筆,而我想要 讀2天共48筆資料進R,因此需寫兩層for迴圈(分別為日期和小時),我的程式碼如下,雖然 過程中沒有出現error,但讀進來的資料日期和小時是交錯的(環境敘述中的圖,只有24筆 )所以想請問該如何解決??謝謝。 資料名稱唯一的差別在於#precip那行的"01"(日期)和"00"(小時)。 [程式範例]: rm(list=ls()) library(ncdf4) day=c("01","02") hour=c("00","01","02","03","04","05","06","07","08","09","10",11:23) class(day) class(hour) nc<-list() for(i in c(1:2)){ for(j in c(0:23)){ precip.file<-paste("C:\\Users\\TOM\\Desktop\\R(資料庫 )\\201505\\gsmap_mvk.201505",paste(day[i=(1:2)]),paste("."), paste(hour[j=(0:23)],paste("00.v6.4133.0.nc")),sep="") #precip<-"C:\\Users\\TOM\\Desktop\\R(資料庫 )\\20150501\\gsmap_mvk.201505"01"."00"00.v6.4133.0.nc" #nc[i,j]=rbind(i,j) } i<-i+1 nc[i,j]<-nc_open(precip.file) } precip.file View(matrix(precip.file)) [環境敘述]: 執行畫面拍照截圖於推文中 [關鍵字]: 兩層for迴圈 nc檔 讀取多筆資料 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 150.117.35.12 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1528043978.A.B8C.html
AndrewShi: https://i.imgur.com/M2gDxFG.jpg 06/04 00:40
andrew43: nc[i,j]是什麼?看不出來它怎麼初始化的。 06/04 15:20
AndrewShi: 那應該只是我取的名稱。 06/04 15:54
andrew43: 我是指nc怎麼初始化的? 06/04 16:13
andrew43: 如果沒有先定nc,又怎麼能夠對nc[i,j]賦值? 06/04 16:14
AndrewShi: 初使化??我應該是沒有做初使化,我只是把資料名稱不同 06/04 16:36
AndrewShi: 的地方用矩陣把它串起來而已,那個nc[i,j]也可以改成nc 06/04 16:36
AndrewShi: ,抱歉我是新手,不太懂你的意思@@ 06/04 16:36
andrew43: 我猜nc[i,j]那句根本沒有被執行。過程中沒有error嗎? 06/04 17:16
AndrewShi: 的確有error,昨天沒看到,是nc_open那一行有錯沒錯~ 06/04 17:35
andrew43: 換個話題。i<-i+1這很明顯不對。for已經自動幫你換i值 06/04 17:39
andrew43: 如果今天是用while而不是for那確實常用i=i+1這種方法 06/04 17:39
AndrewShi: 了解,謝謝andrew大~那能請教你能否給我一些指點該如 06/04 22:47
AndrewShi: 何解決那個error嗎??謝謝。 06/04 22:47
andrew43: 我不了解nc_open之後你要怎麼處理,看說明是要再接 06/04 23:19
andrew43: ncvar_get()取值。你可以再開一個新的文並把一個真實資 06/04 23:20
andrew43: 料附上,並說明你希望怎麼包裹你取出的值 06/04 23:21
andrew43: 另外希望你未來貼code時排一下版,目前好醜不容易看 06/04 23:23
AndrewShi: 是要取值沒錯,但我現在問題卡在多筆檔案讀不進來,所 06/05 14:12
AndrewShi: 以無法做後續取值的動作。 06/05 14:12
AndrewShi: 真實的資料檔案在網路上是gz檔,需經過轉檔才能轉成nc 06/05 14:27
AndrewShi: 檔,如果andrew大有需要的話,我再把網址貼給你。 06/05 14:27
andrew43: 不妨只提供一個nc檔就好。因為它的內容會決定之後用什 06/05 14:31
andrew43: 麼容器來包裹它較恰當方便。當然也可以直接用list 06/05 14:31
AndrewShi: p.reanalysis2.pressure.html 06/05 14:41
AndrewShi: 網址好像被截斷無法連上,還煩請andrew大到我之前發的 06/05 14:55
AndrewShi: 文(標題:dimensions of z are not length(x)(-1))這篇 06/05 14:56
AndrewShi: 有完整網址及說明,不過這網站上的nc檔和我這篇文用的n 06/05 14:56
AndrewShi: c檔是不一樣就是了。 06/05 14:56