我的问题是如何在读取来自许多文件的数据时为各种列指定类。更具体地说,我一次上传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
调用中正确指定列类。
答案 0 :(得分:1)
这一切都在Gabor的评论中,但要把这个放在床上:
lapply(Myfiles, read.xls, colClasses = c("character", "numeric", "factor"), header=T)