在函数中读取R中的CSV文件

时间:2015-07-17 14:43:27

标签: r forecasting

我有一个问题,我似乎无法在网上找到答案。如果它已经被回答,我道歉,但是这里有。我在R中编写了一个脚本,它将为我完成预测过程,并根据交叉验证和其他标准返回最佳点预测。我想将这个脚本保存为一个函数,这样我每次进行预测时都不必使用完整的脚本。我的脚本的基本设置如下:

output <- read.csv("C:/Users/data.csv", header = T)
colnames(output)
month_count = length(output[,1]) ##used in calculations throughout code
current_year = output[1,1]
current_month = output[1,2]
months = 5 #months to forecast out


m = 0
data <- ts(output[,3][c(1:(month_count-m))],
frequency = 12, start = c(current_year,current_month))
#runs all the other steps from here on

我正在编写的函数看起来像这样需要各种输入,然后运行脚本并打印出我的预测

forecastMe = function(sourcefile,months,m)
  {
            #runs the data prints out the result
  }

我遇到的问题是我希望能够将C:/Users/documents/data1.csv等目录和文件名输入到函数中(对于源文件部分),然后选择它我的R脚本的这一步。

output <- read.csv("C:/Users/sourcefile.csv", header = T)

我似乎找不到办法让它做得对。有什么想法或建议吗?

2 个答案:

答案 0 :(得分:1)

因此...

function(sourcefile, etc) {
  output <- read.csv(sourcefile, header = T)
  etc
}

...是什么?我不确切地知道你究竟在问什么。

答案 1 :(得分:0)

你快到了。您所要做的就是用您想要传递给函数的变量名替换常量,并删除不再需要的声明。

forecastMe = function(sourcefile,months,m)   {

     output <- read.csv(sourcefile, header = T)
     colnames(output)
     month_count = length(output[,1]) ##used in calculations throughout code
     current_year = output[1,1]
     current_month = output[1,2]

     data <- ts(output[,3][c(1:(month_count-m))],
     frequency = 12, start = c(current_year,current_month))
     #runs all the other steps from here on
  }