从r脚本中运行r脚本并更改一些值

时间:2018-10-13 15:47:39

标签: r

我有一个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,将它们分别命名为yearweekproduct,然后运行我创建的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)

1 个答案:

答案 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系列中的某些功能将此功能应用于不同的年份,星期和产品。