我有160个文本文件,所有文件都具有相同的数据列,但没有标题。没有定界符,所以我必须使用read.fwf,我可以使用以下代码一次读入一个:
myfile= "//PATH/AllFiles/10914_1Mile_TextFile.txt"
read_fwf(myfile, fwf_cols(NUM=5,YNUM=20,STREETNUM=8,STREETPRED=2,STREETNAME=20,STREETTYPE=8,STREETPOSTD=2,STREETADD2=40,CITY=29,STATE=2,ZIP=5,ZIP4=4,EFFDATE=8,TYPE=1,
IUM=6,FILL=1,VAMOUNT=9,FILLS=1,OVAMOUNT=9))
但是这样做160次并不理想,因此我试图一次将它们全部绑定在一起。到目前为止,这是我的代码:
CompleteDataCollection <- do.call( "rbind", lapply(myfile, function(fn)
data.frame(Filename=fn, read.fwf(fn,
widths = c(5,20,8,2,20,8,2,40,29,2,5,4,8,1,6,1, 9,1,9),
header = FALSE,
col.names = c("NUM","YNUM","STREETNUM","STREETPRED","STREETNAME","STREETTYPE","STREETPOSTD","STREETADD2","CITY",
"STATE","ZIP","ZIP4","EFFDATE","TYPE", "PREMIUM","FILL", "VAMOUNT","FILLS","OVAMOUNT"))
)))
我不断收到错误消息,并且fn没有设置为任何值,应该吗?如有任何建议,我们将不胜感激,并预先感谢您。
fn应该是列表,其中包含目录中的所有文件名。当您的工作目录设置为文本文件所在的目录时,可以保存所有文件名的列表:
fn <- dir()
然后在fn上执行lapply。