小编Pel*_*lle的帖子

R中的CET / CEST夏时制检测例程

我正在处理众所周知的夏令时问题,这可能是重复的。我只是发现对我的问题没有太大帮助。我的独特问题是,在时间步的第二次出现时我存在数据缺口"2015-10-25 02:00:00"。这似乎是问题所在,并导致结果是在一小时后于"2015-10-25 03:00:00"

在做示例数据时,我发现有时重新启动R会话会产生不同的结果...

全新会话中的测试数据:

Sys.setenv(TZ="Europe/Berlin")

ts1 <- c(seq(as.POSIXct("2015-10-25 02:00:00", tz="Europe/Berlin"), by = 600, length.out = 12 ))
ts2 <- c(seq(as.POSIXct("2015-10-25 01:40:00", tz="Europe/Berlin"), by = 1200, length.out = 9 ))
ts3 <- ts2[c(1,2,3,4,6,7,8,9)]
Run Code Online (Sandbox Code Playgroud)

正在给予:

> ts1
 [1] "2015-10-25 02:00:00 CET" "2015-10-25 02:10:00 CET" "2015-10-25 02:20:00 CET"
 [4] "2015-10-25 02:30:00 CET" "2015-10-25 02:40:00 CET" "2015-10-25 02:50:00 CET"
 [7] "2015-10-25 03:00:00 CET" "2015-10-25 03:10:00 CET" "2015-10-25 03:20:00 CET"
 [10] "2015-10-25 03:30:00 CET" "2015-10-25 03:40:00 CET" "2015-10-25 03:50:00 …
Run Code Online (Sandbox Code Playgroud)

r dst

5
推荐指数
0
解决办法
306
查看次数

如何将逗号作为小数点使用“ cols()”和“ col_double”

我想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
Run Code Online (Sandbox Code Playgroud)

因此,我认为解析过程可以这样工作,但是我总是收到错误消息:

read_delim(T, ";", cols(Date = col_date(format = "%d.%m.%Y")))
# Error: expecting a string
Run Code Online (Sandbox Code Playgroud)

同样在这里:

read_delim(T, ";", cols(Var1 = col_double())) …
Run Code Online (Sandbox Code Playgroud)

csv r readr

3
推荐指数
1
解决办法
1658
查看次数

标签 统计

r ×2

csv ×1

dst ×1

readr ×1