R 如何将整数值转换为二进制值字符串

R 如何将整数值转换为二进制值字符串,r,binary,integer,R,Binary,Integer,我需要将数字值(整数)转换为R中的二进制字符串。这是我的数据帧的外观: V1 V2 V3 1 1 90 336 2 1 90 336 3 3 4 420 4 12 2 413 5 12 4 411 我想要一个第一行,后面是90个1和336个0(按行读取)。因此,输出将是一个包含427列和5行的矩阵。如果可能的话,我希望NA被解读为1 德克试试这个 df <- read.table(header = TRUE, text=" V

我需要将数字值(整数)转换为R中的二进制字符串。这是我的数据帧的外观:

     V1 V2 V3
  1  1  90 336
  2  1  90 336
  3  3  4  420
  4  12 2  413 
  5  12 4  411
我想要一个第一行,后面是90个1和336个0(按行读取)。因此,输出将是一个包含427列和5行的矩阵。如果可能的话,我希望NA被解读为1

德克试试这个

df <- read.table(header = TRUE, text="     V1 V2 V3
  1  1  90 336
  2  1  90 336
  3  3  4  420
  4  12 2  413 
  5  12 4  411")
mat <- matrix(apply(df, 1, function(x) {
  rep(c(0, 1, 0), x)
}), nrow = 5, ncol = 427, byrow = TRUE)

df Ok,如果我想对我的整个数据使用它:它也有三列,但有101行。手动
matrix(apply(df,1,function(x){rep(c(0,1,0,x)}),nrow=nrow(df,byrow=TRUE)
会更一般。显然这不需要,因为我的数据中有NA,我可以修复它吗?现在我将省略NA。每行最多有1个NA?然后,您可以将其替换为正确的数字0或1。