2017-03-06 17 views
0

私は、その値のように見えるデータセット内の文字列(およびNAS)の列がありますので、R使用して特殊文字

"85min" "1hr 19min" "98min" NA "119min" "105min" NA "1hr 30min" 

私は(分)数値にすべての値を変更しようとしています、値は次のように見えること:

85 79 98 NA 119 105 NA 90 

私はその後、その後に「1」を変更する「時間」、「60」を削除して、真ん中を変更する「分」最初の削除、作品によってそれを実行しようとしました空白記号にスペースを入れて、私に与えます:

"85" "60+19" "98" NA "119" "105" NA "60+30" 

私はas.numericを適用することで、 "+"記号のあるものを数式に変換することを望んでいましたが、代わりにそれらはただのNAsになりました。

このような変換を行う方法はありますか?事前に多くの感謝!

+0

関連:[たとえば、「15分」または「2秒」に「午後十二時15分00秒」または「午後12時00分02秒」のためのタイムスパンからの使用を既存のR関数](http://stackoverflow.com/questions/8204878/from-timespan-for-example-15-min-or-2-sec-to-001500-or-000002-usin)と[変換年齢を入力「X週、Y日、Z時間」と表示されます(http://stackoverflow.com/questions/32744743/convert-age-entered-as-x-weeks-y-days-z-hours-in-r ?noredirect = 1&lq = 1) – Henrik

答えて

0

はい、あなたが必要parseeval

strings = c("85", "60+19", "98", NA, "119", "105", NA, "60+30") 
sapply(parse(text=strings), eval) 
[1] 85 79 98 NA 119 105 NA 90 
+0

はい、まさに私が探していたものです。どうもありがとうございます。私は数日前に尋ねてきただけです... –