本文介绍了如何将整数转换为二进制向量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何使用R将整数转换为二进制向量?
How to convert an integer number into binary vector using R?
例如:
number <- 11
[1] 1 0 1 1
如果我需要将整个数字向量(最小值= 0,最大值= 300)转换为二进制矩阵,那么最快的转换方法是什么(使用R代码或包中的一些现有函数)?
what is the fastest possible method of conversion (using R code or some existing functions from packages) if I need to convert whole vector of numbers (minimum value = 0, maximum =300) into binary matrix ?
推荐答案
有 intToBits
函数将任何整数转换为32个raw的向量,所以你可以这样做:
There's the intToBits
function that converts any integer to a vector of 32 raws, so you can do this:
decimals <- c(3,5,11,4)
m <- sapply(decimals,function(x){ as.integer(intToBits(x))})
m
> m
[,1] [,2] [,3] [,4]
[1,] 1 1 1 0
[2,] 1 0 1 0
[3,] 0 1 0 1
[4,] 0 0 1 0
[5,] 0 0 0 0
[6,] 0 0 0 0
[7,] 0 0 0 0
[8,] 0 0 0 0
[9,] 0 0 0 0
[10,] 0 0 0 0
[11,] 0 0 0 0
[12,] 0 0 0 0
[13,] 0 0 0 0
[14,] 0 0 0 0
[15,] 0 0 0 0
[16,] 0 0 0 0
[17,] 0 0 0 0
[18,] 0 0 0 0
[19,] 0 0 0 0
[20,] 0 0 0 0
[21,] 0 0 0 0
[22,] 0 0 0 0
[23,] 0 0 0 0
[24,] 0 0 0 0
[25,] 0 0 0 0
[26,] 0 0 0 0
[27,] 0 0 0 0
[28,] 0 0 0 0
[29,] 0 0 0 0
[30,] 0 0 0 0
[31,] 0 0 0 0
[32,] 0 0 0 0
这篇关于如何将整数转换为二进制向量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!