通过lapply(FileList,read.xls)读取数据时指定列类

时间:2012-11-10 19:58:23

标签: r lapply read.table

我的问题是如何在读取来自许多文件的数据时为各种列指定类。更具体地说,我一次上传1000个.xlsx文件,并使用read.xls()包中的gdata函数将它们转换为.csv文件。

我的方法如下:

Myfiles<-list.files() # lists all files in working directory (which contains data files)
library(gdata)
Mylist <- lapply(Myfiles, read.xls, header=T,
    perl="C:/Users/A/PERL/perl/bin/perl.exe",
    sheet=1,
    method="csv",
    skip=1,
    as.is=1)

我为没有提供可行的例子而道歉。我不知道如何解决这个问题。

所有.xlsx文件都有相同的标题和设置,但Mylist内数据框中相应列的类并不完全相同。 有没有办法在我正在使用的lapply()方法中指定类?我知道您可以将read.table()的函数扩展到read.xls()但我还没有想出了如何在lapply调用中正确指定列类。

1 个答案:

答案 0 :(得分:1)

这一切都在Gabor的评论中,但要把这个放在床上:

lapply(Myfiles, read.xls, colClasses = c("character", "numeric", "factor"), header=T)