Dear Don, What read.fwf() needs are the field widths. I think that the following will do what you want:
> strings <- scan(what="") 1: perstat1 $1-2 3: linenum $3-4 5: I_wave1 $5-5 7: bnocost1 $6-10 9: bnosta1 $11-12 11: Read 10 items > (fields <- matrix(as.numeric(unlist(strsplit( + gsub("\\$", "", grep("^\\$", strings, value=TRUE)), "-"))), + ncol=2, byrow=TRUE)) [,1] [,2] [1,] 1 2 [2,] 3 4 [3,] 5 5 [4,] 6 10 [5,] 11 12 > (widths <- fields[,2] - fields[,1] + 1) [1] 2 2 1 5 2 I hope this helps, John -------------------------------- John Fox Senator William McMaster Professor of Social Statistics Department of Sociology McMaster University Hamilton, Ontario, Canada web: socserv.mcmaster.ca/jfox > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On > Behalf Of Donald Catanzaro, PhD > Sent: April-14-10 1:02 PM > To: r-help@r-project.org > Subject: Re: [R] Import ASCII data using a .sas program > > Good Day, > > I have several ASCII data files that I would like to import into R. > They all have a SAS import file which is used to bring the data into SAS > and I am hoping to use this to bring the data into R. There are lots of > variables involved and the ASCII data file is 2308 columns long so I > would certainly prefer to figure out a smart way of converting the data > to R. > > The ASCII data is a long stream of numbers (no field separators or > delimiters) while the SAS import file looks like: > > libname mine 'c:\'; > data mine.fh4; > infile 'd:\fh4.txt' lrecl=2309; > input > perstat1 $1-2 > linenum $3-4 > I_wave1 $5-5 > bnocost1 $6-10 > bnosta1 $11-12 > > So SAS uses the position of the ASCII character to determine what > variable the data should be in while the SCAN or the READ. FWF function > of R uses the width of the column. > > Does anyway have a smart and/or automated way of moving my ASCII data > into R using this .SAS program ? > > -- > -Don > > Don Catanzaro, PhD > Landscape Ecologist > dgcatanz...@gmail.com > 16144 Sigmond Lane > Lowell, AR 72745 > 479-751-3616 > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.