如何在不使用Pandas的情况下迭代地读入R中的文件,并将每个文件的内容保存在不同的变量中? [英] How to iteratively read in files in R and save the content of each file in a different variable without using Pandas?

查看:42
本文介绍了如何在不使用Pandas的情况下迭代地读入R中的文件,并将每个文件的内容保存在不同的变量中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个场景,在这个场景中,我有一堆名称相同的文件,只是名称中有一个数字。我想创建与我拥有的文件一样多的变量。到目前为止,我的代码如下所示:

for(i in 1:26)
{
  if ( i <= 9 )
  {
      OutFile=paste0("Iterated.Filename0",i,".out")
      out <- read.table(OutFile, header = FALSE, sep="	", dec=".", na.strings = "NA")
  } else {
      OutFile=paste0("Iterated.Filename",i,".out")
      out <- read.table(OutFile, header = FALSE, sep="	", dec=".", na.strings = "NA")
  }
}

(else语句前后的差异是";Filename";之后的0)

问题是,最终创建的out变量是(A)只有一个变量,而不是out1out26的变量,(B)它不是所有读入文件的串联数据,而是第26个.out文件的数据。

因此,我的问题是:如何以一种使每个文件的内容存储在不同变量中的方式读取R中的多个文件? 尤其是如何在不使用 pandas 的情况下做到这一点?

推荐答案

使用内置函数的一种可能方式如下:

paths <- sprintf("Iterated.Filename%02d.out", 1:26)
out <- lapply(paths, read.table, header=FALSE, sep="	", dec=".", na.strings="NA")

变量out此处是包含26个数据集的列表。

这篇关于如何在不使用Pandas的情况下迭代地读入R中的文件,并将每个文件的内容保存在不同的变量中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆