我有我希望是一個關於as.numeric()的簡單問題。我有一大堆數據寫成字符。我希望它們是數字,但as.numeric()會帶走小數點。例如:as.numeric()刪除R中的小數位數,如何更改?
y <- as.character("0.912345678")
as.numeric(y)
0.9123457
謝謝:)
我有我希望是一個關於as.numeric()的簡單問題。我有一大堆數據寫成字符。我希望它們是數字,但as.numeric()會帶走小數點。例如:as.numeric()刪除R中的小數位數,如何更改?
y <- as.character("0.912345678")
as.numeric(y)
0.9123457
謝謝:)
R基本上遵循一些基本的概念用於打印所需位數的配置設置。
> options(digits=9)
> y <- as.character("0.912345678")
> as.numeric(y)
[1] 0.912345678
小編輯爲清楚: digits
對應的數字號碼中總顯示,而不是數字只是數量的逗號後,您可以用digits
選項,如下所示更改此。
例如,
> options(digits=9)
> y <- as.character("10.123456789")
> as.numeric(y)
[1] 10.1234568
在您的例子前導零的逗號不計前上方,這就是爲什麼9個數字足以顯示完整號碼。
這是怎麼回事的是,R爲只顯示一個固定的號碼數字。
This R-help post解釋發生了什麼事。引用Peter Dalgaard, 「對象和對象顯示之間有區別。」
你的榜樣,
y2 = as.numeric(y)
print(y2)
# [1] 0.9123457
但減去0.9,看
y2 - 0.9
# [1] 0.
更新基於由@Khashaa 評論要更改顯示使用
options(digits = 9)
y2
# [1] 0.912345678
選項(位數= 9) – Khashaa
我確定這是重複的,但我懶得找到合適的問題將其鏈接到現在。 – Dason
@Dason可能這[這裏](http://stackoverflow.com/questions/2287616/controlling-digits-in-r)或[這裏](http://stackoverflow.com/questions/11568385/why-as-數字功能,在-R-犯規,工作正常)?我不確定答案是否相似,所以我沒有提出這個問題。 –