我正在努力学习R教程。
目标是创建一个必须具有的功能: 1)将工作目录设置为桌面上包含大量.csv文件的文件夹。 2)获取参数以识别要使用/加载的文件。 2b)必须将参数制成特定格式。调用该函数的人可以输入长度在1到3位之间的数字。要加载几百个潜在文件,它们必须以“001.csv”,“050.csv”和“200.csv”格式输出。 3)加载输入文件的数据。
这是我的代码:
getmonitor <- function(id){
setwd("C:/Users/myname/Desktop/specdata") #set the directory
csvfile <- function(id) # set the file number format
if (id < 10) {
paste0(0,0,id,".csv")
} else if (id < 100) {
paste0(0,id,".csv")
} else paste0(id,".csv")
}
foo <-read.csv(csvfile) #load the appropriate csv file
}
那不起作用。我收到的错误消息是:“read.table中的错误(file = file,header = header,sep = sep,quote = quote,: 'file'必须是字符串或连接“
我已经做了相当多的谷歌搜索,无法理解如何解决这个问题。我的方法好吗?我是R的新手和一般的编程。
答案 0 :(得分:3)
您正在传递函数csvfile
作为文件参数,而不是该函数在调用时返回的字符串。你想要
foo <- read.csv(csvfile(id))