通过函数从不同位置读取数据

时间:2014-08-17 19:51:17

标签: r

我对R很陌生,并且正在努力应对以下情况:     我需要编写一个从PC上不同位置读取数据的函数(如下载,文档,桌面等)。这些位置中的每个文件都具有唯一ID。因此该函数将id和location作为参数。它有点像这样:

 onefunc <- function(directory,id)
  {
    y <- read.csv("directory/id")
  }

我需要将目录和ID传递给read函数。但是上面的代码抛出一个错误 - 无法打开文件'directory / id':没有这样的文件或目录。我需要准确传递read.csv吗?

1 个答案:

答案 0 :(得分:2)

你现在在函数里面有一个字符串(字符序列)。 R不承认这些是变量。您需要将变量directoryid放在一个字符串中。有很多选项可以做到这一点:

  • sprintf('%s/%s', directory, id)
  • paste(directory, id, sep = '/')
  • file.path(directory, id),专门用于构建文件路径。其他函数是通用字符串构建函数。我建议在您的情况下使用此功能,因为它最适合您的情况,并且可以在所有平台上使用。

然后,您可以将此字符串提供给read.csv以执行实际阅读。