[问题类型]:
程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
[软件熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
收案资料约每个月需要做一次clean data的工作:
变项共有15个(含一项中文字串资料)。
个案数每个月约1000-3000不等。
程式功能需求
由于整理完的资料需要上传特定系统,但系统每次只能吃1000笔个案数,
因此须将清过的资料每1000笔切割到一个独立的CSV档(含字段名称),
并命名第x个切割出的CSV档为“G[x]_系统日期”的(西元年)格式。
特殊内容
但因为每个月的个案数不一定,需要程式能够自行判断即使最后一份
切割出的个案数列数不满1000笔,仍产出一个CSV档。
[程式范例]:
目前已经完成档案命名的产出设定:
CSVCoNaming <-if (nrow(G_Part_Co)%/%1000<= 0) {
paste("G_",format(Sys.Date(),"%Y%m%d"),sep="")
} else {
paste("G",(1:(nrow(G_Part_Co)%/%1000+1)),"_",
format(Sys.Date(),"%Y%m%d"),sep="")
}
CSVFoNaming <-if ((nrow(G_Part_Fo)%/%1000)<= 0) {
paste("G_follow_",format(Sys.Date(),"%Y%m%d"),sep="")
} else {
paste("G",(1:(nrow(G_Part_Fo)%/%1000+1)),"follow_",
format(Sys.Date(),"%Y%m%d"),sep="")
}
剩下切割资料并命名CSV档的功能写不出来...
目前是想用split或subset切资料,再把切出来的用assign给已产出的档名。
但由于需要动态查询该月的个案数来写功能,这部分需要请大家帮帮忙!
[关键字]:切割资料by资料列数
小弟刚从SAS跳槽,对R的语法还掌握不够,麻烦各位大大提供解套方法!
先谢谢大家!!