2

文字列を生のバイトに前後に変換することに関する何かを実装しようとしています。NA 値の動作を見ると、次のコードは常に "NA" を返し、以下の最初の例では NA ではないことに気付きました。

したがって、私の質問です。NA 値を raw に渡して、後で文字として戻すにはどうすればよいですか?

rawToChar(charToRaw(as.character(NA)))
[1] "NA"
rawToChar(charToRaw("NA"))
[1] "NA"
4

2 に答える 2

2

独自のrawToChar関数を作成する必要があるようです:

myRawToChar <- function(x, ...) {
  naString <- charToRaw("NA")
  if (all.equal(x, naString)) {
    return(NA)
  }
  rawToChar(x, ...)
}

の代わりにmyRawToChar(charToRaw("NA"))が返されるようになりました。NA"NA"

于 2013-09-20T08:46:31.513 に答える