A Big thanks to everyone to help me solve this problem . My bad I assumed the file is delimited by tab which it was not . Its a fixed width file and the code that Uwe gave is just perfect . It was cleaver to skip the first row since the delimiter cannot be specified in this case .I added few more things to it and got the desired solution . Here is the code
url <- "http://data.princeton.edu/wws509/datasets/divorce.dat" widths <- c(9, 13, 10, 8, 10, 6) f5 <- read.fwf(url, widths = widths, skip = 1, nrow=10, strip.white = TRUE, col.names=c("id","heduc","heblack","mixed","years","div"), colClasses = c("numeric", "character", "character","character", "double", "character" ) ) Regards Pradeep Singh On Sun, Jan 17, 2016 at 4:48 PM, Uwe Ligges <lig...@statistik.tu-dortmund.de > wrote: > This is not a tab delimited file (as you apparently assume given the > code), but a fixed width format, hence I'd try: > > url <- "http://data.princeton.edu/wws509/datasets/divorce.dat" > widths <- c(9, 13, 10, 8, 10, 6) > f5 <- read.fwf(url, widths = widths, skip = 1, strip.white = TRUE) > > names(f5) <- as.character(unlist(read.fwf(url, widths = widths, > strip.white=TRUE, n=1))) > > Not sure why reading it simply with header=TRUE des not work, but no time > to investiagte this now. > > Best, > Uwe Ligges > > > > On 17.01.2016 16:31, Pradeep Bisht wrote: > >> Hello Experts , >> >> Being a SAS developer I am finding it difficult to perform some of data >> cleaning in R that are quite easy to perform in SAS . >> >> I have been trying to read a .dat file and after a lot of attempts have >> failed to find a solution . Maybe R doesn't have the functionality right >> now or I am not looking in the right place . Here is my code . >> >> f5=read.table("http://data.princeton.edu/wws509/datasets/divorce.dat >> < >> http://www.linkedin.com/redir/redirect?url=http%3A%2F%2Fdata%2Eprinceton%2Eedu%2Fwws509%2Fdatasets%2Fdivorce%2Edat&urlhash=GVbR&_t=tracking_anet >> > >> ", >> header=T, >> sep="\t", >> colClasses = c("numeric", "character", "character","character", "double", >> "character" ) ) >> The error i get i >> s >> this . >> Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, >> : >> scan() expected 'a real', got '912-15yearsNoNo10.546No' >> >> Also does read.table always calls scan in background to do its job . If so >> why use read.table in first place . >> >> Pradeep >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> 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. >> >> [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.