我有一个R脚本,我想运行该脚本来导入一些数据。 R脚本称为load_in_year1-4
。我设计了此脚本,因此只需要对顶部的代码进行3次更改,所有内容都将运行并导入正确的数据文件。
3个更改是
year <- "Year4"
weeks <- "1270_1321"
product <- "/cookies"
但是我有20年的数据价值和50多种产品。
我目前正在手动更改每个文件的顶部并运行它,因此当前数据中没有错误。
我想做的是创建一个单独的R脚本,它将运行当前脚本。
我想要类似的东西
year <- c("year1", "year2", "year3"....)
weeks <- c("1270_1321", "1321_1327"....)
product <- c("product1", "product2"....)
因此,将需要第一年的第1270_1321周和产品1,将它们分别命名为year
,week
,product
,然后运行我创建的R脚本。
有人可以建议使用网格功能吗?
编辑:我有类似以下内容
#Make changes here
year <- "Year11"
weeks <- "1635_1686"
product <- "/cigets"
# year1: "1114_1165", year2: "1166_1217", year3: "1218_1269"
#Does not need changing
files <- gsub("Year1", as.character(year), "E:/DATA/Dataset/Year1")
parsedstub <- "E:/DATA/Dataset/files/"
produc <- paste0("prod", gsub("/", "_", as.character(product)))
drug <- "_drug_"
groc <- "_groc_"
####################Reading in the data###########################################
drug <- read.table(paste0(files, product, product, drug, weeks), header = TRUE)
groc <- read.table(paste0(files, product, product, groc, weeks), header = TRUE)
答案 0 :(得分:1)
要使用脚本制作函数,请执行以下操作:
get.tables <- function(year,weeks,product){
files <- gsub("Year1", as.character(year), "E:/DATA/Dataset/Year1")
parsedstub <- "E:/DATA/Dataset/files/"
product <- paste0("prod", gsub("/", "_", as.character(product)))
drug <- "_drug_"
groc <- "_groc_"
####################Reading in the data###########################################
drug <- read.table(paste0(files, product, product, drug, weeks), header = TRUE)
groc <- read.table(paste0(files, product, product, groc, weeks), header = TRUE)
list(drug = drug, groc = groc)
}
然后,您可以使用apply
系列中的某些功能将此功能应用于不同的年份,星期和产品。