On Wed, 17 Dec 2008, Titan8883 wrote:


Hi all,

I am a new graduate student who is also new to R. I am ok with the basics,
but the problem I am having right now seems beyond what I can do..so I am
looking for advice.


Advice? OK. Here goes.

I would suggest you pull one of the data files into a character vector using readLines().

From there you can try out different methods of finding the data elements
in the file that you want to extract. If it is guaranteed that 'nominal pulse width' ALWAYS shows up on the same line in every file, you can use the line numbers to figure out where to look for data elements. If not, you will probably want to get familiar with grep() and regular expressions, see ?regex and use RSiteSearch("regexpr") and the like to turn up the many useful discussions of them on this list.

From there sub(), gsub(), strsplit(), and friends will help you. They may
take a good deal of fiddling to get them to digest your data.

If parts of your file can be read using read.csv() or scan() or something, you can use a textConnection() to pass some lines that readLines() has stored for you to read.csv().

Once you get so that one data file can be processed, rolling up your code as a function should not be too hard. Put the function in a loop using

        res <- list()
        for(ifile in your.file.list ) res[[ifile]] <- your.function( ifile)

or
        res <-       sapply(your.file.list, your.function)
or

        res <- lapply(your.file.list, your.function)

and you are ready to chomp away at your files.


HTH,

Chuck

I am trying to pull data from flat ASCII files, but they
do not have a "nice" structure so a simple "read.table" doesn't work. An
example first half of a data file is below:
----------------------------------------------------------------------------------------------
19 c:/data/WF-100/2008/20080911/trk/20080911.013115.007.17.txt
10 s   name of program that wrote this file trkplt   name of program that
wrote this file
10 GORDON   machine that generated this file   machine that generated this
file
10     3.7 version of program
10     3.6 version of this data file
10    5.81 version of Universal Library
10 20081121.145730 when this file was written
10 Windows_XP   operating system used   operating system used
*
*       radar characteristics
11 WF-100
11 20000000  A/D rate, samples/second
11 7.5  bin width, m
11 800  nominal PRF, Hz
11  0.25  nominal pulse width, microsec
11 0  tuning, volts
11 3.19779  nominal wave length, cm
-----------------------------------------------------------------------------------------------
..the file goes on from there...

How would I go about getting this data into some kind of useful format? This
is one of about 1000 files I will need to go through. I would ideally like
to get these into a format with each data file as a row with columns for the
various values with the description text removed(version of program, file
version, tuning volts, etc...).

I'm not looking for a cut and paste answer, but perhaps some direction on
where I should start. I have only done basic .csv, table, and line inputs up
until now.

Thanks for any advice
--
View this message in context: 
http://www.nabble.com/Trouble-pulling-data-from-a-messy-ACII-file...-tp21059239p21059239.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
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.


Charles C. Berry                            (858) 534-2098
                                            Dept of Family/Preventive Medicine
E mailto:cbe...@tajo.ucsd.edu               UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901

______________________________________________
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.

Reply via email to