作者AndrewShi (没有你的我)
看板R_Language
标题[问题] 两层for回圈问题
时间Mon Jun 4 00:39:35 2018
[问题类型]:
程式谘询(我想用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://webptt.com/cn.aspx?n=bbs/R_Language/M.1528043978.A.B8C.html
2F:→ andrew43: nc[i,j]是什麽?看不出来它怎麽初始化的。 06/04 15:20
3F:→ AndrewShi: 那应该只是我取的名称。 06/04 15:54
4F:→ andrew43: 我是指nc怎麽初始化的? 06/04 16:13
5F:→ andrew43: 如果没有先定nc,又怎麽能够对nc[i,j]赋值? 06/04 16:14
6F:→ AndrewShi: 初使化??我应该是没有做初使化,我只是把资料名称不同 06/04 16:36
7F:→ AndrewShi: 的地方用矩阵把它串起来而已,那个nc[i,j]也可以改成nc 06/04 16:36
8F:→ AndrewShi: ,抱歉我是新手,不太懂你的意思@@ 06/04 16:36
9F:→ andrew43: 我猜nc[i,j]那句根本没有被执行。过程中没有error吗? 06/04 17:16
10F:→ AndrewShi: 的确有error,昨天没看到,是nc_open那一行有错没错~ 06/04 17:35
11F:→ andrew43: 换个话题。i<-i+1这很明显不对。for已经自动帮你换i值 06/04 17:39
12F:→ andrew43: 如果今天是用while而不是for那确实常用i=i+1这种方法 06/04 17:39
13F:→ AndrewShi: 了解,谢谢andrew大~那能请教你能否给我一些指点该如 06/04 22:47
14F:→ AndrewShi: 何解决那个error吗??谢谢。 06/04 22:47
15F:→ andrew43: 我不了解nc_open之後你要怎麽处理,看说明是要再接 06/04 23:19
16F:→ andrew43: ncvar_get()取值。你可以再开一个新的文并把一个真实资 06/04 23:20
17F:→ andrew43: 料附上,并说明你希望怎麽包裹你取出的值 06/04 23:21
18F:→ andrew43: 另外希望你未来贴code时排一下版,目前好丑不容易看 06/04 23:23
19F:→ AndrewShi: 是要取值没错,但我现在问题卡在多笔档案读不进来,所 06/05 14:12
20F:→ AndrewShi: 以无法做後续取值的动作。 06/05 14:12
21F:→ AndrewShi: 真实的资料档案在网路上是gz档,需经过转档才能转成nc 06/05 14:27
22F:→ AndrewShi: 档,如果andrew大有需要的话,我再把网址贴给你。 06/05 14:27
23F:推 andrew43: 不妨只提供一个nc档就好。因为它的内容会决定之後用什 06/05 14:31
24F:→ andrew43: 麽容器来包裹它较恰当方便。当然也可以直接用list 06/05 14:31
26F:→ AndrewShi: p.reanalysis2.pressure.html 06/05 14:41
27F:→ AndrewShi: 网址好像被截断无法连上,还烦请andrew大到我之前发的 06/05 14:55
28F:→ AndrewShi: 文(标题:dimensions of z are not length(x)(-1))这篇 06/05 14:56
29F:→ AndrewShi: 有完整网址及说明,不过这网站上的nc档和我这篇文用的n 06/05 14:56
30F:→ AndrewShi: c档是不一样就是了。 06/05 14:56