#' importrawdf_f
#'
#' Import raw df from a specified directory with ^201*.csv M+ Data.
#' Imports: library1(c("lubridate", "plyr", "function0")
#' Return df
#' @param data_dir directory of M+ Data
#' @param startdate_ymd date of first day to import
#' @param enddate_ymd date of last day to import
#' @keywords import raw df
#' @export
#' @examples
#' importrawdf_f(data.dir = "C:/Users/jy/Desktop/tempmplus", startdate_ymd = "20150101", enddate_ymd = "20170808")
importrawdf_f <- function(data_dir, startdate_ymd = "20150101", enddate_ymd = Sys.Date(), oneonly = F){
startdate <- lubridate::ymd(startdate_ymd)
if(oneonly){
enddate <- startdate
}else{
enddate <- lubridate::ymd(enddate_ymd)
}
data_dir <- formatdir_f(data_dir) #Add "/" to the end of the directory
flist <- list.files(path = data_dir, pattern = "^20.*.csv")
N <- length(flist);
if(N == 0){
cat( paste0("No ^20.*.csv exist in '", data_dir ,"'!") )
return(NULL)
}
flist_date <- sapply(flist, FUN = function(x){
return( strsplit(x, split = "\\.")[[1]][1] )
})
flist_date <- lubridate::ymd(flist_date)
u1 <- flist_date >= startdate & flist_date <= enddate
if(sum(u1) == 0){
cat("No csv files within date range OR no update!\n\n")
# Sys.sleep()
return(NULL)
}
req_date <- flist_date[u1]
req_date2 <- paste0(gsub(pattern = "-", "", req_date), ".csv")
L <- 1:length(req_date)
df_list <- lapply(L, FUN = function(j){
df2 <- read.csv(paste0(data_dir, req_date2[j]), stringsAsFactors = F)
df2[,"date"] <- req_date[j]
return(df2)
}) #return list of df by date
return(plyr::rbind.fill(df_list)) ###dependent on plyr (LOAD plyr BEFORE dplyr)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.