Fabulous, guys! Let me try your suggestions.
Thanks a lot! Best, SErgey On Fri, Mar 13, 2009 at 11:53, <markle...@verizon.net> wrote: > Hi: > For A, you can use head and tail but you have to add a zero the front. > For B, you can use the same function, but put it inside an sapply and run > over the columns and then cbind it back with the original dataframe. > A) > nm2 <- c(rep("SPZ8", 10), rep("SPX9", 10)) > -1.0*c(0,as.numeric((head(nm2,-1) != tail(nm2,-1)))) > > B) > nm3 <- c(rep("GLF9", 4), rep("GLF10", 16)) > matr <- cbind(nm2, nm3) > temp<-as.data.frame(sapply(1:ncol(matr), function(.col) { > -1.0*c(0,as.numeric((head(matr[,.col],-1) != tail(matr[,.col],-1)))) > })) > cbind(matr,temp) > > > > On Fri, Mar 13, 2009 at 5:24 AM, Sergey Goriatchev wrote: >> Hello, everybody >> >> Say I have >> nm1 <- c(rep(1,10), rep(0,10)) >> then I can do: >> diff(nm1) >> to see where I have shift in value >> >> but what if I have >> nm2 <- c(rep("SPZ8", 10), rep("SPX9", 10)) >> >> how can I produce the same ouput as diff(nm1) does, that is zeros >> everywhere except for one place where SPZ8 changes to SPX9 (there >> should be 1 there)? >> >> What if I have a matrix of characters like that: >> nm3 <- c(rep("GLF9", 4), rep("GLF10", 16)) >> matr <- cbind(nm2, nm3) >> >> How can I efficiently create two more columns that contain zeros >> everywhere except for place where there is shift in character values? >> >> Thanks for help! >> Sergey >> >> -- >> I'm not young enough to know everything. /Oscar Wilde >> Experience is one thing you can't get for nothing. /Oscar Wilde >> When you are finished changing, you're finished. /Benjamin Franklin >> Tell me and I forget, teach me and I remember, involve me and I learn. >> /Benjamin Franklin >> Luck is where preparation meets opportunity. /George Patten >> >> ______________________________________________ >> r-h...@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. -- I'm not young enough to know everything. /Oscar Wilde Experience is one thing you can't get for nothing. /Oscar Wilde When you are finished changing, you're finished. /Benjamin Franklin Tell me and I forget, teach me and I remember, involve me and I learn. /Benjamin Franklin Luck is where preparation meets opportunity. /George Patten ______________________________________________ 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.