我有這個字符串變量介紹NA到as.numeric
mystr <- "98,015"
,我想將其轉換爲數字。
於是我就用:
num <- as.numeric(mystr)
但我收到此錯誤:
Warning message:
NAs introduced by coercion
此介紹NA,而不是數量。如果使用像"21"
這樣的字符串,我會成功取得該號碼。我能做什麼?
我有這個字符串變量介紹NA到as.numeric
mystr <- "98,015"
,我想將其轉換爲數字。
於是我就用:
num <- as.numeric(mystr)
但我收到此錯誤:
Warning message:
NAs introduced by coercion
此介紹NA,而不是數量。如果使用像"21"
這樣的字符串,我會成功取得該號碼。我能做什麼?
我們可以使用sub
替換,
和""
,然後將其轉換爲numeric
。由於,
字符,應用as.numeric
將其強制轉換爲NA。
as.numeric(sub(",", "", mystr))
如果,
代表.
,然後用.
更換(基於@ RHertel的評論)
as.numeric(sub(",", ".", mystr))
目前尚不清楚的OP的原始數據集是否是data.frame
或只是vector
。如果是數據幀,則在使用read.csv/read.table
讀取時,我們可以指定dec=","
。
謝謝。它工作'as.numeric(sub(「,」,「」,mystr))'!我應該怎麼做,如果我有一些像這樣的「1071911」 –
@Jason_K在這種情況下,你可以使用'gsub',而不是'sub'(但是從你的例子,我認爲只有一個單一的「」每次每個號碼 – akrun
GSUB功能也做了同樣的
mystr <- c("98,015","10,125","11,456")
mystr <- as.numeric(gsub("\\,","",mystr))
class(mystr)
[1] "numeric"
你不需要轉義逗號,除了無用地使用'gsub'而不是'sub'外,與其他答案有什麼不同? – Cath
感謝Cath的更新會嘗試使用其他功能 –
'readr :: parse_number( 「98015」)' – alistaire