[R] Diff'ing 2 strings

Sebastien Bihorel @eb@@tien@bihorel @ending from cognigencorp@com
Wed Jan 9 20:42:45 CET 2019


Thanks 

Sorry my mention of "fairly complex strings" was indeed a bit vague, indeed. My code is building strings that contain \n characters so something that could be thought about as multiline strings. 

For comparing these strings, I was hoping to use something like the linux diff command which is smart enough to recognize these line chunks you mentioned and not just to a simple line-by-line comparison. 

I saw a few thread mentioning ?adist. I will look into that. 

Sebastien 


From: "Bert Gunter" <bgunter.4567 using gmail.com> 
To: "Sebastien Bihorel" <sebastien.bihorel using cognigencorp.com> 
Cc: "R-help" <r-help using r-project.org> 
Sent: Saturday, January 5, 2019 10:19:42 AM 
Subject: Re: [R] Diff'ing 2 strings 

I do not know what you mean in your string context, as diff in Linux finds lines in files that differ. A reproducible example -- posting guide! -- would be most useful here. 

However, maybe something of the following strategy might be useful: 

1. Break up your strings into lists of string "chunks" relevant for your context via strspit() . Using "" (empty character) as the "sep" string would break your strings into individual characters; "\n" would break it into "lines" separated by the return 
character; etc. 

2. Compare your lists using e.g. lapply() and probably ?match and friends like ?setdiff 

You should also probably check out the stringr package to see if it contains what you need. Also, if this is gene sequence related, posting on the Bioconductor list rather than here is likely to be more fruitful. 

Cheers, 
Bert 

Bert Gunter 

"The trouble with having an open mind is that people keep coming along and sticking things into it." 
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) 


On Sat, Jan 5, 2019 at 5:58 AM Sebastien Bihorel < [ mailto:sebastien.bihorel using cognigencorp.com | sebastien.bihorel using cognigencorp.com ] > wrote: 


Hi, 

Does R include an equivalent of the linux diff command? 

Ideally I would like to diff 2 fairly complex strings and extract the differences without having to save them on disk and using a system('diff file1 file2') command. 

Thanks 

Sebastien 

______________________________________________ 
[ mailto:R-help using r-project.org | R-help using r-project.org ] mailing list -- To UNSUBSCRIBE and more, see 
[ https://stat.ethz.ch/mailman/listinfo/r-help | https://stat.ethz.ch/mailman/listinfo/r-help ] 
PLEASE do read the posting guide [ http://www.r-project.org/posting-guide.html | 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