#' notify should fix
#'
#' For inform the spot of rail to fix
#' @param None
#' @return caution Tb(show spots to fix and working priorty)
devtools::use_package("dplyr")
devtools::use_package("csvread")
devtools::use_package("stringr")
#' @importFrom csvread map.coltypes
#' @importFrom csvread csvread
#' @importFrom compiler cmpfun
#' @importFrom stringr str_detect
#' @importFrom stringr str_replace
#' @importFrom stringr str_replace_all
#' @importFrom stringr str_extract
#' @importFrom stringr str_extract_all
#' @importFrom stringr str_sub
#' @importFrom stringr str_c
#' @importFrom dplyr filter
#' @importFrom dplyr arrange
#' @importFrom dplyr summarise
#' @importFrom dplyr mutate
#' @importFrom dplyr group_by
#' @importFrom dplyr left_join
#' @export
notify=function(){
A=cmpfun(
function(){
if(!require(dplyr)){
library(dplyr)
}
if(!require(csvread)){
library(csvread)
}
if(!require(stringr)){
library(sringr)
}
print("input TQI_file to directory of input")
directoryCheck=readline(prompt="directory: /home/jsh/Rwork/input right?(1.yes, 2.no)")
directoryCheck=as.integer(directoryCheck)
if(directoryCheck==1){
setwd("/home/jsh/Rwork/input")
}else if(directoryCheck==2){
directory=readline(prompt="write your Directory:(without double quotation)")
directory=as.character(directory)
setwd(directory)
}
fileCheck=readline(prompt=paste0("1. I have seperated TQI file,though","\n","2. I've already executed tqi() function"))
fileCheck=as.numeric(fileCheck)
if(fileCheck==1){
file_tqi=list.files()
print(list.files())
fileNo=readline(prompt="What number is your fileNo?")
fileNo=as.integer(fileNo)
coltypes=map.coltypes(file_tqi[fileNo],header=T)
temp=csvread(file_tqi[fileNo],coltypes=coltypes,header=T)
print("3.GAGE 4.PRR 6.ALL 8.TWIST 9.SUP")
kind=readline(prompt="kind: ")
kind=as.integer(kind)
kind<<-kind
}
equipOrNot=readline(prompt="1.equip 2.manual : ")
equipOrNot=as.integer(equipOrNot)
if(equipOrNot==1){
if(kind==3){
criteria=0
criteria_caution=0
criteria_limit=0
}else if(kind==4|kind==5){
criteria=8
criteria_caution=4
criteria_limit=20
}else if(kind==6|kind==7){
criteria=7
criteria_caution=4
criteria_limit=17
}else if(kind==8){
criteria=8
criteria_caution=3
criteria_limit=21
}else{
criteria=10
criteria_caution=3
criteria_limit=30
}
}else{
if(kind==3){
criteria=0
criteria_caution=0
criteria_limit=0
}else if(kind==4|kind==5){
criteria=13
criteria_caution=4
criteria_limit=20
}else if(kind==6|kind==7){
criteria=9
criteria_caution=4
criteria_limit=17
}else if(kind==8){
criteria=10
criteria_caution=3
criteria_limit=21
}else{
criteria=20
criteria_caution=3
criteria_limit=30
}
}
criteria=as.integer(criteria)
criteria_caution=as.numeric(criteria_caution)
criteria<<-criteria
criteria_caution<<-criteria_caution
criteria_distance=readline(prompt="criteria of distance(m) : ")
alert=temp %>% mutate(speedLimit=ifelse(abs(temp$movingInclude)>=criteria_limit,1,0))
alert=alert %>% select(1,3,5) %>% filter(abs(movingInclude)>=criteria) %>% arrange(distance)
alert_range=alert %>% mutate(range=ifelse(floor(alert[,1])-c(0,alert[1:(length(alert[,1])-1),1])<=criteria_distance,1,0))
start=which(alert_range$range==0)
last=c((which(alert_range$range==0)[-1]-1),length(alert[,1]))
i=1;column=integer(0);for(i in 1:length(start)){
column[start[i]:last[i]]=i
}
alert=bind_cols(alert,data.frame("column"=column))
alert<<-alert
caution=data.frame(start=alert_range[start,1],
last=alert_range[last,1],
count=
(as.data.frame(unique((alert %>% group_by(column) %>% mutate(NROW(column)))[,c(4,5)])))[,2],
speedLimit=(as.data.frame((alert %>% group_by(column) %>% summarise(sum(speedLimit)))[2]))[,1]
)
z=1;for(z in 1:length(caution[,1])){
if(z==1) {
adjustTQI=integer(0);improveTQI=integer(0);indexTQI=integer(0);indexRaw=integer(0)
backup=temp[,2]
}
rownumber=(alert %>% filter(column==z))[,1]
rownames=(temp %>% mutate(rownames=seq(temp[,1])) %>% select(1,rownames) %>% filter(distance %in% rownumber ) )[,2]
temp[rownames,2]=ifelse(temp[rownames,2]>0,criteria_caution,criteria_caution*(-1))
if(longLevel==50){
criteria_duplicate=100
}else if(longLevel==200){
criteria_duplicate=400
}else if(longLevel==0){
}
criteria_duplicate<<-criteria_duplicate
dup=1;for(dup in 1:100){
if(dup!=1) duplicate_backup=D
A=ifelse((rownames+dup)>criteria_duplicate&(rownames+dup)<length(temp[,1])-(criteria_duplicate-1),rownames+dup,0)
B=ifelse((rownames-dup)>criteria_duplicate&(rownames-dup)<length(temp[,1])-(criteria_duplicate-1),rownames-dup,0)
AB=c(A,B)
if(dup==1)D=AB
if(dup!=1) D=c(duplicate_backup,AB)
print(paste0(dup,"/",100))
}
D=sort(unique(D))[-1]
if(longLevel==50){
temp=temp %>% filter(distance>=startD_50,distance<=lastD_50)
movingInclude_revise=temp[,3]
if(is.na(sum(temp[,2]))) temp[is.na(temp[,2]),2]=0
i=1;for(i in 1:length(D)){
movingInclude_revise[D[i]]=temp[D[i],2]-mean(temp[c((D[i]-100):(D[i]-1),D[i],(D[i]+1):(D[i]+100)),2])
print(paste0("z=",z," ",i,"/",length(D)))
}
}else if(longLevel==200){
temp=temp %>% filter(distance>=startD_100,distance<=lastD_100)
movingInclude_revise=temp[,3]
if(is.na(sum(temp[,2]))) temp[is.na(temp[,2]),2]=0
i=1;for(i in 1:length(D)){
movingInclude_revise[D[i]]=temp[D[i],2]-mean(temp[c((D[i]-400):(D[i]-1),D[i],(D[i]+1):(D[i]+400)),2])
print(paste0("z=",z," ",i,"/",length(D)))
}
}else if(longLevel==0){
movingInclude_revise=temp[,2]
}
TQI_fix=integer(0)
i=1;for(i in 1:(length(range_TQI)-1)){
TQI_fix[i]= sd((temp %>% mutate(adjust=movingInclude_revise) %>% select(1,adjust) %>% filter(distance>=range_TQI[i],distance<range_TQI[i+1]))[,2])
print(paste0(i,"/",(length(range_TQI)-1)))
}
adjustTQI[z]=mean(TQI_fix)
improveTQI[z]=original_TQI-mean(TQI_fix)
indexRaw[z]=(improveTQI[z]/original_TQI)*100
indexTQI[z]=paste0( format( round((improveTQI[z]/original_TQI)*100,2),nsmall=2) , "%")
if(z==length(caution[,1])) {
caution=caution[,c(1:4)]
caution=bind_cols(caution,adjustTQI=adjustTQI,original_TQI=rep(original_TQI,length(caution[,1])),improveTQI=improveTQI,indexTQI=indexTQI)
if(length( (caution %>% filter(speedLimit!=0))[,1] )!=0){
caution_speed<-caution %>% filter(speedLimit!=0)
caution_speed<-caution_speed %>% mutate(priority=rank(desc(caution_speed$indexRaw)))
caution_normal<-caution %>% filter(speedLimit==0)
caution_normal<-caution_normal %>% mutate(priority=length(caution_speed[,1])+rank(desc(caution_normal$indexRaw)))
caution=bind_rows(caution_speed,caution_normal)
}else{
caution<-caution %>% filter(speedLimit==0) %>% mutate(priority=rank(desc(indexRaw)))
}
caution=arrange(caution, priority)
print(View(caution))
}
temp[,2]=backup
temp<<-temp
}
caution_priority<<-caution
caution<<-caution
rownumber<<-rownumber
backup=temp[,2]
backup<<-backup
}
)
A()
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.