[R] read.fortran format
Steven Yen
syen04 at gmail.com
Sat May 28 05:30:49 CEST 2016
That's great, John. Your mother told you when you were born? How am I
supposed to know? Thank you both.
The following format statement did it!! I just change F5.3 to F5, 5F8.4
to 5F8. I also change 2E15.9 to 2A9, and then use the following
as.numeric to convert the alphanumerical to numerical. Thank you!!!
mydata<-read.fortran("GROUPC.DAT",
list(c("1X","F6","5F8"),
c("1X","5F8","F10"),
c("1X","2F6","3A15","F8","F5","F5"),
c("1X","F7","2A15","F9","F5")),
col.names=c("year","w1","w2","w3","w4","w5","v1","v2","v3",
"v4","v5","m","chyes","chno","ec","vc","cvc",
"pop","ahs","fah","tnh","eq","vq","ups","zm1"))
mydata$ec <-as.numeric(mydata$ec)
On 5/27/2016 6:33 PM, William Dunlap wrote:
> It has been a while since I used Fortran formatted input, but the
> following,
> without dots in the format, works:
>
> > txt <- "1950. .614350 .026834 .087227 .006821 .180001 4.56E-2"
> > print(read.fortran(textConnection(txt), c("f5", "6f8")), digits=10)
> V1 V2 V3 V4 V5 V6 V7
> 1 1950 0.61435 0.026834 0.087227 0.006821 0.180001 0.0456
>
>
> If I recall correctly, a dot in the format pushes the decimal point:
>
> > print(read.fortran(textConnection(txt), c("f5", "6f8.3")),
> digits=10)
> V1 V2 V3 V4 V5 V6 V7
> 1 1950 0.00061435 2.6834e-05 8.7227e-05 6.821e-06 0.000180001 4.56e-05
>
>
>
> Bill Dunlap
> TIBCO Software
> wdunlap tibco.com <http://tibco.com>
>
> On Fri, May 27, 2016 at 3:15 PM, Steven Yen <syen04 at gmail.com
> <mailto:syen04 at gmail.com>> wrote:
>
> Thanks John. That helped, but I got a mixed of good thing and bad
> thing.
> Good is R does not like the scientific number format "3E15.9" but
> I was
> able to read with alphanumerical format "3A15" (and convert to
> numerical). Bad is R does not like the numbers .1234, .2345
> without the
> zeros before the decimal points. My data look like:
>
> 1950. .614350 .026834 .087227 .006821 .180001 .084766
>
> The first variable was read correctly, followed by six 0's.
>
> As the instructions say, this fortran format is approximation at best
> and in this case, a poort approximation.
>
> On 5/27/2016 2:21 PM, John McKown wrote:
> > On Fri, May 27, 2016 at 12:56 PM, Steven Yen <syen04 at gmail.com
> <mailto:syen04 at gmail.com>
> > <mailto:syen04 at gmail.com <mailto:syen04 at gmail.com>>>wrote:
> >
> > Dear fellow R users:
> > I am reading a data (ascii) file with fortran fixed format,
> containing
> > multiple records. R does not recognize fortran's record break (a
> > slash).
> > I tried to do the following but it does not work. Help
> appreciated.
> >
> > 60
> > FORMAT(1X,F6.0,5F8.6/1X,5F8.4,F10.6/1X,2F6.0,3E15.9,F8.0,F5.2,F5.3
> > * /1X,F7.0,2E15.9,F9.4,F5.3)
> >
> >
> mydata<-read.fortran("G:/Journals/Disk1/12_restat_95/estimate/GROUPD.DAT",
> >
> > c("1X","F6.0","5F8.6"/"1X","5F8.4","F10.6"
> > /"1X","2F6.0","3E15.9","F8.0","F5.2","F5.3"
> > /"1X","F7.0","2E15.9","F9.4","F5.3"),
> >
> > col.names=c("year","w1","w2","w3","w4","w5","w6","v1","v2","v3",
> > "v4","v5","v6","z","chyes","chno","ec","vc","cvc",
> > "pop","ahs","fah","tnh","eq","vq","ups","zm1 "))
> >
> >
> > Did you see this from ?read.fortran
> >
> > <quote>
> >
> > For a single-line record, ‘format’ should be a character vector.
> > For a multiline record it should be a list with a character
> vector
> > for each line.
> >
> > </quote>
> >
> > I think (not sure) you need:
> >
> >
> mydata<-read.frotran("G:/Journals/Disk1/12_restat_95/estimate/GROUPD.DAT",
> >
> list(c("1X","F6.0","5F8.6"),c("1X","5F8.4","F10.6"),c("1X","2F6.0","3E15.9","F8.0","F5.2","F5.3"),c("1X","F7.0","2E15.9","F9.4","F5.3")).
> >
> > col.names=c("year","w1","w2","w3","w4","w5","w6","v1","v2","v3",
> > "v4","v5","v6","z","chyes","chno","ec","vc","cvc",
> > "pop","ahs","fah","tnh","eq","vq","ups","zm1 "))
> >
> >
> >
> >
> >
> > --
> > The unfacts, did we have them, are too imprecisely few to
> warrant our
> > certitude.
> >
> > Maranatha! <><
> > John McKown
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org <mailto:R-help at 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]]
More information about the R-help
mailing list