25 lines
1.2 KiB
R
25 lines
1.2 KiB
R
txt2bl<-function(indata){
|
|
instr<-strsplit(indata,"\\.")
|
|
ins<-data.frame(a=unlist(lapply(1:length(instr),function(i){return(unlist(instr[[i]][1]))})),b=unlist(lapply(1:length(instr),function(i){return(unlist(instr[[i]][2]))})),stringsAsFactors=FALSE)
|
|
# ins<-matrix(unlist(strsplit(indata,"\\.")),ncol=2,byrow=TRUE)
|
|
if(sum(is.na(ins$a),na.rm=TRUE)>0)ins[is.na(ins$a),"a"]<-"000"
|
|
if(sum(is.na(ins$b),na.rm=TRUE)>0)ins[is.na(ins$b),"b"]<-"000"
|
|
if(sum(nchar(ins$a)<2,na.rm=TRUE)>0)ins[nchar(ins$a)<2,"a"]<-"000"
|
|
if(sum(nchar(ins$b)<2,na.rm=TRUE)>0)ins[nchar(ins$b)<2,"b"]<-"000"
|
|
if(sum(nchar(ins$b)>5,na.rm=TRUE)>0)ins[nchar(ins$b)>5,"b"]<-unlist(lapply(ins[nchar(ins$b)>5,"b"],function(i){return(substr(i,1,5))}))
|
|
insec<-as.integer(paste(ins$b,sapply(6-nchar(ins$b),function(i){return(paste0(rep("0",i),collapse=""))}),sep=""))
|
|
inmin<-as.integer(sapply(ins$a,function(i){return(substr(i,nchar(i)-1,nchar(i)))}))+
|
|
60*as.integer(sapply(ins$a,function(i){return(substr(i,1,nchar(i)-2))}))
|
|
out<-inmin*1e6+insec
|
|
return(out)
|
|
}
|
|
dbCatchWriteTable<-function(db,table,indata,nfr=500){
|
|
ncalls<-floor(nrow(indata)/nfr)
|
|
rowi<-1:nrow(indata)
|
|
for(i in 0:ncalls){
|
|
win<-i*nfr+1:nfr
|
|
win<-win[win%in%rowi]
|
|
dbWriteTable(db,table,indata[win,],append=TRUE,row.names=FALSE)
|
|
}
|
|
}
|