2015-07-13 46 views
2

我試圖將包含緯度和經度的文本文件導入R,它們都具有不同的精確度(即小數點後的點)。當我嘗試使用read.table時,數據導入但切斷了小數點後5位。有沒有解決的辦法?我沒有發現任何有用的文檔。如何通過舍入R中的不同精度數字來阻止read.table?

從文本文件中的數據的一個例子:

35.326354762000001 91.761496755 
35.512443542 92.356571172 
35.319078183999999 92.233513991 
35.315654623 91.912230315 
35.293864976999998 92.442997238 
35.435569418 92.231860894 

感謝。

回答

0

你可以嘗試options(digits(),就像這樣:

options(digits=5) 
35.326354762000001 
#[1] 35.326 
options(digits=20) 
35.326354762000001 
#[1] 35.326354762000001 
+0

但是,輸入值的位數不同。所以當我嘗試使用這種技術時,我會遇到錯誤。 – user41569

+0

錯誤是什麼意思? – erasmortg

4

read.table不圓的(除非您提供超過〜後面的逗號16位),但確確實實的答覆是打印到精度可能受控於options(digits=[n])

+0

啊!收到了。謝謝!有沒有辦法改變格式默認顯示更多數字?我還沒有找到一個(在RStudio中) – user41569

+0

您可以在.Rprofile文件中添加一行 –

0

正如@Mark所指出的那樣,這只是一個顯示問題。 read.table將第二列視爲數字。您可以強制將其讀爲char,以便在打印數據框時顯示所有數字。假設您的文件test.txt中有數據...下面將生成所需的輸出

df <- read.table("test.txt", sep=" ",colClasses = c("character", "character"))