将日期从JSON转换为R列表元素:“字符串不是标准的明确格式”

问题描述 投票:0回答:1

我在转换类似于此日期的日期时遇到问题:character string is not in a standard unambiguous format

我已经从JSON中检索到信息到data.frames列表,称为“ lista.alarmes”。这是日期字段上的值:

> lista.alarmes[[1]][[2]][8]
[1] "1578332914"

我能够将其转换为日期格式:

> d <- as.POSIXct(as.numeric(lista.alarmes[[1]][[2]][8]), tz="America/Sao_Paulo", origin="1970-01-01")
> str(d)  
POSIXct[1:1], format: "2020-01-06 14:48:34"

问题是当我尝试将此值保存在原始列表中时。第一件事,好像什么都没有更新

> lista.alarmes[[1]][[2]][8] <- d
> str(lista.alarmes[[1]][[2]][8])
 chr "1578332914"

而且,我无法从该内容中检索信息

> year(unlist(lista.alarmes.2[[1]][[2]][8]))
Error in as.POSIXlt.character(x, tz = tz(x)) : 
  character string is not in a standard unambiguous format
> year(as.POSIXct(lista.alarmes[[1]][[2]][8][[1]], origin="1970-01-01"))
Error in as.POSIXlt.character(x, tz, ...) : 
  character string is not in a standard unambiguous format

为什么原始列表不接受转换为as.POSIXct的值?我也尝试过使用as.Date,但结果相似。

此外,我想使用lapply处理所有列表。我猜命令很好,除了没有实现更新:

lista.alarmes <- lapply(lista.alarmes,function(x){
  x[[2]][8] = as.POSIXct(as.numeric(x[[2]][8]), tz="America/Sao_Paulo", origin="1970-01-01")
  return(x)})
r list date-conversion
1个回答
0
投票
代替unlist,我们可以将do.callc结合使用
© www.soinside.com 2019 - 2024. All rights reserved.