It might be easier to preprocess the file before passing it
to R, but you an do what you want using a connection:

f = file('s.dat','r')
while(1){
+   txt = readLines(f,1)
+   if(length(grep('Source',txt)))break;
+ }
while(1){
+   more = readLines(f,1)
+   if(nchar(more) == 0)break;
+   txt = paste(txt,more,sep='\n')
+ }
try = read.table(textConnection(txt),header=TRUE,fill=TRUE)
try
               Source Model terms    Gamma Component Comp.SE X. C
1 Residual 8383 8367 NA NA NA NA 2 at(type,1).Nfam 62 62 10.1131 10.1131 1.81 0 P
3     at(type,2).Nfam    62    62  28.1153   28.1153    2.16  0 P
4            rep.iblk   768   768  63.2919   63.2919   10.94  0 P
5  at(type,1).Nfemale    44    44  29.9049   29.9049    2.93  0 P
6   at(type,1).Nclone  2689  2689 109.5600  109.5600   12.66  0 P
7  at(type,2).Nfemale    44    44  14.0305   14.0305    1.68  0 P
8            Variance     0     0 479.0400  479.0400   36.23  0 P
9            Variance     0     0 490.5800  490.5800   17.51  0 P
10           Variance     0     0 469.9320  469.9320   36.51  0 P
11           Variance     0     0 544.6540  544.6540   17.86  0 P


The first loop reads up until the word "Source" appears in the line, and the second loop builds a text representation of what
you want so that you can read it using textConnection.

Hope this helps.
                                        - Phil Spector
                                         Statistical Computing Facility
                                         Department of Statistics
                                         UC Berkeley
                                         spec...@stat.berkeley.edu



On Fri, 29 Oct 2010, M.Ribeiro wrote:


Sorry, the explanation wasn't very good...just to explain better.

I am writing a loop to read and process every time a different file in the
same script.
And what I want to load into a variable each time is a data.frame that is
bellow the word source in all of my files.

So I would like to recognize the word Source in the text file....and read
the table bellow source until the next blank line (the file has more written
stuff bellow the data frame that I want to read too)

Here is an example of the file. I want the df to read from source until the
blank line right above the words "Analysis of Variance

Notice:     37 singularities detected in design matrix.
  1 LogL=-2664.01     S2=  1.0000       8367 df    :   2 components
constrained
  2 LogL=-2269.45     S2=  1.0000       8367 df
  3 LogL=-1698.47     S2=  1.0000       8367 df
  4 LogL=-1252.72     S2=  1.0000       8367 df
  5 LogL=-1013.52     S2=  1.0000       8367 df
  6 LogL=-957.409     S2=  1.0000       8367 df
  7 LogL=-944.252     S2=  1.0000       8367 df
  8 LogL=-939.976     S2=  1.0000       8367 df
  9 LogL=-938.908     S2=  1.0000       8367 df
 10 LogL=-938.798     S2=  1.0000       8367 df
 11 LogL=-938.795     S2=  1.0000       8367 df
 12 LogL=-938.795     S2=  1.0000       8367 df

Source                Model  terms     Gamma     Component    Comp/SE   % C
Residual               8383   8367
at(type,1).Nfam          62     62   10.1131       10.1131       1.81   0 P
at(type,2).Nfam          62     62   28.1153       28.1153       2.16   0 P
rep.iblk                768    768   63.2919       63.2919      10.94   0 P
at(type,1).Nfemale       44     44   29.9049       29.9049       2.93   0 P
at(type,1).Nclone      2689   2689   109.560       109.560      12.66   0 P
at(type,2).Nfemale       44     44   14.0305       14.0305       1.68   0 P
Variance                  0      0   479.040       479.040      36.23   0 P
Variance                  0      0   490.580       490.580      17.51   0 P
Variance                  0      0   469.932       469.932      36.51   0 P
Variance                  0      0   544.654       544.654      17.86   0 P

Analysis of Variance              NumDF              F_inc
 27 mu                                1            5860.84

 12 culture                           1               0.07
 10 type                              1              29.59
 28 culture.rep                       6              14.06
 30 culture.rep.type                  7               2.17
 36 at(type,1).Nfam                      62 effects fitted
--
View this message in context: 
http://r.789695.n4.nabble.com/How-to-scan-df-from-a-specific-word-tp3019841p3019846.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.


______________________________________________
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