Thank you very much that substr works great on my data. For future users, I did in the following code.
z<-matrix(c(substr(tmp,5,8),substr(tmp,1,4)),5,2) dataU16 <- c(t(z)) On Sun, Nov 22, 2015 at 8:38 AM, Duncan Murdoch <[email protected]> wrote: > On 22/11/2015 2:04 AM, Frank Wang wrote: > >> Hi, >> >> I am new user on R. I want to split a vector of hex data such as >> "00ff8020" >> "02d00000" "001e0240" "00010096" "00010033" >> into 16 bits such as: >> "00ff", "8020", "02d0","0000","001e", "0240", "0001","0096", "0001", >> "0033" >> >> Are there any way to do it? >> > > If those are really strings, use substr(). > > If they are 32 bit integers, you could use x %% (2^16) for the low 16 > bits. For the high 16 bits, you'll have to be careful about the sign. Or > you could use the bitops package, bitShiftR(x, 16). In either case the > results will display by default in decimal; if you want a hex display, use > as.hexmode(). > > Duncan Murdoch > > [[alternative HTML version deleted]] ______________________________________________ [email protected] mailing list -- To UNSUBSCRIBE and more, see 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.

