2
我想在閱讀時將我的列與readr
包解析爲正確的類型。如何在逗號中使用「cols()」和「col_double」作爲小數點
難度:各字段之間用分號隔開(;
),逗號(,
)用作小數點。
library(readr)
# Test data:
T <- "Date;Time;Var1;Var2
01.01.2011;11:11;2,4;5,6
02.01.2011;12:11;2,5;5,5
03.01.2011;13:11;2,6;5,4
04:01.2011;14:11;2,7;5,3"
read_delim(T, ";")
# A tibble: 4 × 4
# Date Time Var1 Var2
# <chr> <time> <dbl> <dbl>
# 1 01.01.2011 11:11:00 24 56
# 2 02.01.2011 12:11:00 25 55
# 3 03.01.2011 13:11:00 26 54
# 4 04:01.2011 14:11:00 27 53
所以,我以爲解析事情會這樣的工作,但我總是收到錯誤消息:
read_delim(T, ";", cols(Date = col_date(format = "%d.%m.%Y")))
# Error: expecting a string
這裏一樣:
read_delim(T, ";", cols(Var1 = col_double()))
# Error: expecting a string
我覺得我做的一些根本錯誤的東西。 ;)
另外,我將不勝感激關於如何我可以告訴read_delim
瞭解逗號作爲小數點。 read.delim
可以很容易地與dec = ","
做到這一點,但我真的很想從一開始就使用「閱讀器」 - 包裝而不用掙扎。前版本中有一個col_euro_double
函數,但它已被刪除。現在有什麼替代方案?
由於當
locale=
,即作品!我試圖在'col_double()'調用中設置'locale'。你也可以告訴我爲什麼我使用'cols(Date = col_date(format =「%d。%m。%Y」))''時出現'Error:expect a string'。 – Pelle哦,已經知道了:它是'col_types = cols(Date = col_date(format =「%d。%m。%Y」))' – Pelle