[R] Changing a value in a particular row and column within a text file

T.V. Nguyen tn248 at cam.ac.uk
Fri Dec 17 10:49:23 CET 2010


On 17 Dec 2010, at 01:13, Mauricio Zambrano wrote:

> Dear list,
> 
> I need to change a value within a particular line of a plain text file
> with characters and numbers, and I haven't found any way of doing this
> by using R.
> 
> What I have a is a file that doesn't have tabular data (so, I think
> that 'read.table' or 'read.delim' are not the right tools for this),
> but some text, and I now exactly the row that has to be modified and
> the columns within that row that have to be changed with a new
> numerical value.
> 
> I don't' know any way of reading a text file line by line in R, and
> this is the only solution in R that I have figured out so far...
> 
> Any idea about how can I do this ?.

readLines will read lines from a flat file and create a character array:

> list <- readLines("twelvedaysofchristmas.txt")
> head(list)
[1] "12 Drummers Drumming" "11 Pipers Piping"    
[3] "10 Lords-a-Leaping"   "9 Ladies Dancing"    
[5] "8 Maids-a-Milking"    "7 Swans-a-Swimming" 

You can either edit the line you want manually, or use sub to make changes:

> sub("Lords-a-Leaping","Jaffa Cakes",list)
> head(list)
[1] "12 Drummers Drumming" "11 Pipers Piping"    
[3] "10 Jaffa Cakes"       "9 Ladies Dancing"    
[5] "8 Maids-a-Milking"    "7 Swans-a-Swimming"  

writeLines will write it back:

> writeLines(list,"twelvedaysofchristmas.txt")

Hope this helps, --t

> 
> 
> Thanks in advance for any help,
> 
> Mauricio
> 
> -- 
> ===============================
> Linux user #454569 -- Ubuntu user #17469
> 
> ______________________________________________
> R-help at 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.

--
Thomson Van Nguyen
Centre for Mathematical Studies
University of Cambridge
Wilberforce Road
Cambridge CB3 0WA, UK

Tel: +44 7597120422
E-mail: tn248 at cam.ac.uk
www.ocf.berkeley.edu/~thomson



More information about the R-help mailing list