2

私が持っているファイルには、パラメータのリストとして、0=falseと1=trueの次の文字列セットがあります。文字列をcharsに分割し、char定義ごとにtrue / falseのベクトルを設定する簡単なスクリプトを作成できますが、基本パッケージまたはCRANパッケージにデフォルトで使用できるそのような機能がないかどうか疑問に思いました。

ビット文字列の例:00000000000000000000100000001000000000000000000000000000000000000001

文字列は長くなる可能性があり、それらの負荷を解析する必要があるので、これを適切な速度で実行できる関数があるかどうかを確認するのは素晴らしいことです:-)

4

2 に答える 2

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
于 2012-09-14T21:46:01.233 に答える
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
于 2012-09-14T21:43:43.010 に答える