我是 R 新手,但我需要将数据从 data.table 导出到 CSV,但是我需要添加页眉和页脚行并在此过程中转换数据。
我走的路线是通过水槽和猫。这允许我生成页眉和页脚行并通过 a_ply 将 30000+ 行 data.table 转储到 CSV。
sink(filelocation)
cat("\"EX1\",1,\"EX2\",",time,sep="") #header
cat("\n")
a_ply(datatable1, 1, function(x){
cat("\"L1\",")
cat(paste(x, collapse=","))
cat("\n")
})
cat("\"EX3\",",EX4, sep="") #footer
sink()
我已经完美地完成了所有这些工作,但是我正在努力解决的部分是我需要转换数据表中保存的数据。需要将数据表中的某些列导出为“值”,而将其他列保留为值。还需要删除 NA 值,将它们保留为“”,或者简单地保留为空 ,,。
例如
这条线
SystemID UserID Age Active Status LastAccess LastAccessTime Count
1234567 852741 39 Y 1 NA NA 12
目前出口为
1234567,852741,39,Y,1,NA,NA,12
虽然我需要将其导出为
1234567,"852741",39,"Y",1,,"",12
我需要导出的 data.tables 有 30000+ 长,所以想知道是否有更好的方法来解决这个问题,或者如何构建代码以动态转换每一行,然后将该行放到文件中并移动到下一行。
我无法更改这些文件进入的系统,所以不幸的是我必须处理数据文件的刚性性质。