gpt4 book ai didi

r - 如何使用 "cols()"和 "col_double"将逗号作为小数点

转载 作者:行者123 更新时间:2023-12-01 09:48:33 29 4
gpt4 key购买 nike

我想用 readr 解析我的列阅读时包装到正确的类型。

难点:字段以分号( ; )分隔,逗号( , )用作小数点。

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 = "," 可以很容易地做到这一点但我真的很想从一开始就使用“readr”-Package 而不必费力。有一个 col_euro_double旧版本中的功能,但已被删除。现在有哪些替代方案?

最佳答案

指定 locale=使用时 read_delim()

read_delim(T, ";", locale=locale(decimal_mark = ","))
# Date Time Var1 Var2
# <chr> <time> <dbl> <dbl>
# 1 01.01.2011 40260 secs 2.4 5.6
# 2 02.01.2011 43860 secs 2.5 5.5
# 3 03.01.2011 47460 secs 2.6 5.4
# 4 04:01.2011 51060 secs 2.7 5.3

关于r - 如何使用 "cols()"和 "col_double"将逗号作为小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43234976/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com