将多个文件中的特定单元连接到R中的一个单行

时间:2014-06-13 01:53:44

标签: r cbind

我有一个包含多个文件的文件夹。从每个文件中我想选择一个单元格(第三行,第5列)并将它们绑定到一个单独的列中。这是我到目前为止所得到的:

  fnames1 <- scan(file.choose(), what = "character", quiet = TRUE)
  print(fnames1)
  for (i in fnames1) 

  {
  date.time <- read.table(paste("...",i, sep = ""), skip = 2, nrows = 1)
  timecol <- paste(date.time[, 5])
  time <- cbind(timecol)}

但我仍然只是获得了几个单独的单元格,而不是一行中包含所有单元格。

非常感谢任何帮助!

编辑:MrFlick的答案:出现提示时,我选择一个文件,其中包含文件夹中我想要提取所需单元格的所有文件的名称。这就是fnames1的来源。时间是我创建的变量,试图将所有单元连接在一起(这显然不起作用)。在读取表之后添加该粘贴是我设法使循环工作的唯一方法...我对R很新,我一直在尝试反复试验。

1 个答案:

答案 0 :(得分:0)

我仍然不确定我完全理解,但是

fnames1 <- scan(file.choose(), what = "character", quiet = TRUE)
print(fnames1)
time <- sapply(fnames, function(fn) {
     date.time <- read.table(fn, skip = 2, nrows = 1)
     date.time[, 5]
})
print(time)

这里我们使用sapply循环文件名而不是for循环,它也将使用date.time [3,5]值自动为我们创建正确大小的向量