Мне нужно преобразовать матрицу в вывод шестнадцатеричного файла.Каждая запись в матрице должна быть переведена в 4-битную шестнадцатеричную цифру (8) и выведена в одномерном массиве.
> matrix(c(0,0,0,5,0,0,5,5,0,0,5,0),nrow=3,ncol=4,byrow=T)
[,1] [,2] [,3] [,4]
[1,] 0 0 0 5
[2,] 0 0 5 5
[3,] 0 0 5 0
Это матрица из 3 строк, 4 столбца, в основном 0 и около 5,Мой желаемый вывод должен быть чем-то похожим на
#> as.raw(c(0,8,0,136,0,128))
> as.raw(solution)
[1] 00 08 00 88 00 80
Я пытался сделать несколько простых
> sidewaysraw<-as.raw(ifelse(mymat==5, 8,0))
, но 8 в ifelse, конечно, является 16-битным целым числом, так что это всегда0x08.Я не вижу удобного способа перевода 55-х в 0x88s, 05-х в 0x08-х и 50-х в 0x80-х ...
Есть ли плавный способ заставить R работать с 4-битными целыми числами?