【问题标题】:how to convert my integer value to a string of binary values如何将我的整数值转换为二进制值字符串
【发布时间】:2014-09-27 20:12:06
【问题描述】:

我需要在 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 个零(按行读取)。所以输出将是一个有 427 列和 5 行的矩阵。另外,如果可能的话,我希望将 NA 读取为 1。

德克

【问题讨论】:

    标签: r binary integer


    【解决方案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)
    

    【讨论】:

    • 好的,如果我想将它用于我的整个数据:它也有三列,但有 101 行。手动做有点多
    • matrix(apply(df, 1, function(x) { rep(c(0, 1, 0), x) }), nrow = nrow(df), byrow = TRUE) 会更笼统。
    • 显然不需要,因为我的数据中有 NA,我可以解决这个问题吗?
    • 现在我将省略 NA。
    • 每行最大 1 NA?然后你可以用正确的数字 0 或 1 替换它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-13
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    相关资源
    最近更新 更多