在我得到的文件中有一个参数列表,下面的字符串设置为0 = false和1 = true。我可以创建一个简单的脚本来切断字符串中的字符串然后每个字符定义设置一个带有trues / falses的向量但是想知道在基本包或者CRAN包中是否默认没有这样的功能。
示例位字符串: 00000000000000000000100000001000000000000000000000000000000000000001
字符串可能很长,我将不得不解析它们的负载,所以很高兴看到是否有一些功能可以以合适的速度执行此操作: - )
答案 0 :(得分:6)
如果可以肯定所有字符都是0或1,这应该很快:
x <- "00000000000000000000100000001000000000000000000000000000000000000001"
charToRaw(x) == charToRaw("1")
# [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
# [13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE
# [25] FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
# [37] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
# [49] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
# [61] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE
答案 1 :(得分:3)
as.logical(as.numeric(strsplit(x, "")[[1]]))
例如:
> x = "00001111"
> as.logical(as.numeric(strsplit(x, "")[[1]]))
[1] FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE