【问题标题】:Count characters in sequence, ignoring given character (R)按顺序计数字符,忽略给定字符 (R)
【发布时间】:2018-04-25 10:18:56
【问题描述】:

我有一个单字符串向量:

seq <- c("c","t","c","t","c","c","t","a","t", "g", "g", "c", "g", "g", "g", "a", "a", "g", "c", "-", "-", "a", "a","-", "-", "-", "c", "t", "g")

我想创建一个长度相等的向量,它从一个起始整数开始计算字符串,但忽略“-”。

例如,如果起始整数是 1000

输出字符串是:

out <-c(1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, NA, NA, 1019, 1020, NA, NA, NA, 1021, 1022, 1023)

任何帮助将不胜感激!

【问题讨论】:

  • 这感觉就像一个问题几乎可以肯定已经在为生物序列设计的软件包中得到解决,例如来自 Bioconductor 的 Biostrings。
  • 尽量避免使用像seq这样的函数的变量名

标签: r string vector count


【解决方案1】:

这很简单:

res <- rep(NA_integer_, length(seq))
res[seq != "-"] <- seq(from = 1000, by = 1, length.out = sum(seq != "-"))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 2018-01-14
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多