UNIX-like "cut" command in R
On Tue, 3 May 2011, Christian Schulz wrote:
On Mon, 2 May 2011, P Ehlers wrote:
Use str_sub() in the stringr package: require(stringr) # install first if necessary s <- "abcdefghijklmnopqrstuvwxyz" str_sub(s, c(1,12,17), c(3,15,-1)) #[1] "abc" "lmno" "qrstuvwxyz"
Thanks. That's very close to what I'm looking for, but it seems to correspond to "cut -c", not to "cut -f". Can it work with delimiters or only with character counts? Mike
x <- "this is a string" unlist(strsplit(x," "))[c(1,4)]
Thanks. I did figure that one out a couple of messages back, but to get it do behave like "cut -d' ' -f1,4", I had to add a paste command to reassemble the parts: paste(unlist(strsplit(x," "))[c(1,4)], collapse=" ") Then I wasn't sure if I could do this to every element of a vector of strings without looping -- I have to think not. Mike