加载多个文件到使用R矩阵(Loading multiple files into matrix us

2019-07-20 14:28发布

我是新来的编程世界,需要加载一个文件到R和与它建立一个矩阵帮助。 我可以导入单个文件,并创建和单个矩阵出来。 如何为多个文件做到这一点? 我有21个文件,每个包含100行和100列,我需要导入每个文件,并把一切都放在一个阵列。

Answer 1:

  1. 我会用list.files通过模式列出我的文件。
  2. lapply通过的文件列表循环,并创建一个列表data.frame read.csv
  3. rbindlist绑定都在一个大的矩阵。

     temp = list.files(pattern="*.csv") named.list <- lapply(temp, read.csv) library(data.table) files.matrix <-rbindlist(named.list) 


Answer 2:

它不完全清楚自己想要什么样的结构。 可以将2100x100矩阵或2100x100数据帧或100倍100倍21阵列或具有21个条目的列表中的每个,其中是100×100(在该R的阵列是一个术语将用于与列的规则3维结构之间选择所有相同类型的。(然后当然还有就是你使用data.table agstudy的建议。)

从某种意义上说agstudy的代码已经为您提供了各方面的dataframes的21项列表:100×100:

temp = list.files(pattern="*.csv")
named.list <- lapply(temp, read.csv)

要获得100×100×21阵列继续这样的:

require(abind)
arr <- abind(named.list)

要获取2100×100数据帧,而不是继续使用:

longdf <- do.call(rbind, named.list)

要获取2100×100矩阵从最后一行继续:

longmtx <- data.matrix(longdf)


文章来源: Loading multiple files into matrix using R