如何在r中的矩阵中将十六进制转换为二进制?

How to convert hexadecimal to binary in a matrix in r?

我有一个十六进制数的矩阵,像这样:

       [,1] [,2] [,3]
  [1,] "FA" "F8" "D0"
  [2,] "CE" "17" "6A"
  [3,] "0E" "D6" "22"

如果我尝试转换为二进制,使用 hex2bin(matrix) (library BMS) 给我:

  [1] 1 1 1 1 1 0 1 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0
 [62] 0 0 1 0 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0
[123] 1 0 0 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0
[184] 1 0 0 0 1

但是需要一个矩阵。

大概是这样的?我使用内置 strtoi 转换为十进制整数,然后从 Converting decimal to binary 中获取线索以获取二进制。

m = matrix(c("FA", "F8", "D0",
"CE", "17", "6A",
"0E", "D6", "22"), 3)

m[] = R.utils::intToBin(strtoi(m, base = 16L))
m
#      [,1]       [,2]       [,3]      
# [1,] "11111010" "11001110" "00001110"
# [2,] "11111000" "00010111" "11010110"
# [3,] "11010000" "01101010" "00100010"