0

入力を検討してくださいc("foo 1", "bar 2", "baz")c(1,2,NA)これを(基本的に各文字列から数字を抽出するか、存在しない場合はに変換します)に変えたいと思いNAます。私の最初のパスは次のようになります。

funNums = as.numeric(
                  regmatches(x$Fun,
                    regexpr('\\d+', x$Fun, perl = T)))

x$Fun私の入力ベクトルはどこですか。ただし、これから得られる出力はc(1,2)regmatches一致しないものを破棄するためです。sを含めるにはどうすればよいNAですか?

4

1 に答える 1

3
X <- c("foo 1", "bar 2", "baz")
as.numeric(gsub("([^[:digit:]]*)", "", X))
# [1]  1  2 NA

( のような文字列を渡す"1 to 2"と、数値 が返されることに注意してください。これは、12あなたがやりたいことではないかもしれません。)

于 2012-12-14T18:29:47.587 に答える