2017-01-11 14 views
2

シンボルの並び順を変更し、データフレーム内の特定の文字を削除したいと思います。例えば、R:文字の並び替えと並べ替え

14(-) 
6(-) 
NA 
32(+) 

-14 
-6 
NA 
32 

になるためには、私がgsub("()+", "", x)を試してみましたが、それはちょうど正の数を扱います。

私は、その後、細胞を分割数の欄にifelseを適用するように考えていたが、私はstringrからstr_split(x, "(")を用いて細胞を分割しようとしたが、私は欠損値をしていたとして、私が疑われるとき、私はエラーメッセージが表示されました

gregexpr( "("、 'Missing')の正規表現が無効です( "(" 14、 - ) "、" 6( - ) "、NA、" 32 '

欠落している値を "("で置き換えてからもう一度分割しようとすると、失敗しました。

しかし、私はこれを行うには、より簡単な(そしてはるかに苦痛な)方法があるはずだと確信しています。

答えて

0

可能な解決策は、私はいくつかのより多くのを読んで、私が間違っていた実現し、別々のグループに数字や記号をキャプチャ並べ替えと数字

x <- c("14(-)", "6(-)", NA, "32(+)", "10.3(-)", "13.2(+)") 
as.numeric(gsub("(.*)\\((.*)\\)", "\\2\\1", x)) 
# [1] -14.0 -6.0 NA 32.0 -10.3 13.2 
+0

に変換することです。 – Xizam

関連する問題