我对R很陌生,并且正在努力应对以下情况: 我需要编写一个从PC上不同位置读取数据的函数(如下载,文档,桌面等)。这些位置中的每个文件都具有唯一ID。因此该函数将id和location作为参数。它有点像这样:
onefunc <- function(directory,id)
{
y <- read.csv("directory/id")
}
我需要将目录和ID传递给read函数。但是上面的代码抛出一个错误 - 无法打开文件'directory / id':没有这样的文件或目录。我需要准确传递read.csv吗?
答案 0 :(得分:2)
你现在在函数里面有一个字符串(字符序列)。 R不承认这些是变量。您需要将变量directory
和id
放在一个字符串中。有很多选项可以做到这一点:
sprintf('%s/%s', directory, id)
paste(directory, id, sep = '/')
file.path(directory, id)
,专门用于构建文件路径。其他函数是通用字符串构建函数。我建议在您的情况下使用此功能,因为它最适合您的情况,并且可以在所有平台上使用。然后,您可以将此字符串提供给read.csv
以执行实际阅读。