R 不指定输入的cbind数据

R 不指定输入的cbind数据,r,dataframe,cbind,R,Dataframe,Cbind,我有一段代码,我想找到我的数据。问题是我不会总是有八个数据文件要cbind。我想保留下面的代码,如果我有五个,只导入五个。 原因是这样的。我将始终有1-100个数据帧到cbind,我不想总是手动告诉R到cbind 1或100。我只想要cbind(1:100),并且总是cbind需要的cbind finaltable<- cbind(onea, twoa, threea, foura, fivea, sixa, sevena, eighta) finaltable如果没有更多数据,下面是一

我有一段代码,我想找到我的数据。问题是我不会总是有八个数据文件要cbind。我想保留下面的代码,如果我有五个,只导入五个。 原因是这样的。我将始终有1-100个数据帧到cbind,我不想总是手动告诉R到cbind 1或100。我只想要cbind(1:100),并且总是cbind需要的cbind

finaltable<- cbind(onea, twoa, threea, foura, fivea, sixa, sevena, eighta)

finaltable如果没有更多数据,下面是一个人为的例子。首先,我将制作一些示例文件,每个示例文件中的行数相同:

filenames <- paste0(c('onea', 'twoa', 'threea', 'foura'), '.csv')
for (fn in filenames)
    write.csv(matrix(runif(5), nc = 1), file = fn, row.names = FALSE)

文件名您可以查看
do.call(cbind,list(…)
其中
list
是您的数据列表。因此,只需从data.frames或matrix列表中的文件加载数据,并应用
do.call
命令即可。好吧,我是这样读取文件的:#######检查目录中的所有文件##############################35,对我的代码的唯一更改是将我的变量
文件名
替换为
列出所有文件
,并将
读取.csv
替换为
读取.table
。您的列表已根据
readinfles()
函数按正确顺序排序。My
ret
变量将为每个文件包含一列—以文件修改时间的递增顺序排列。你试过我的密码吗?@r2evans,这就是我的密码:ret
(filenames <- list.files(pattern = '*.csv'))
##  [1] "foura.csv"  "onea.csv"   "threea.csv" "twoa.csv"  
(ret <- do.call(cbind, lapply(filenames,
                              function(fn) read.csv(fn, header = TRUE))))
##           V1        V1        V1        V1
##  1 0.9091705 0.4934781 0.7607488 0.4267438
##  2 0.9692987 0.4349523 0.6066990 0.9134305
##  3 0.6444404 0.8639983 0.1473830 0.9844336
##  4 0.7719652 0.1492200 0.7731319 0.9689941
##  5 0.9237107 0.6317367 0.2565866 0.1084299
(ret <- do.call(cbind, lapply(filenames[1:2],
                              function(fn) read.csv(fn, header = TRUE))))
##           V1        V1
##  1 0.9091705 0.4934781
##  2 0.9692987 0.4349523
##  3 0.6444404 0.8639983
##  4 0.7719652 0.1492200
##  5 0.9237107 0.6317367