r - 从 Googlesheets 导入时,返回我无法在 R 中转换为日期的列表
问题描述
当我从 GoogleSheets 导入时,其中一个变量以列表形式出现。这是一个示例:
> dataset$my_date[1:4]
[[1]]
[1] "2019-06-25 UTC"
[[2]]
[1] "2019-06-25 UTC"
[[3]]
[1] "2019-06-25 UTC"
[[4]]
[1] "2019-06-25 UTC"
但是当我尝试将此列表转换为日期时,它返回给我:
> as.Date(dataset$my_date[1:4])
Error in as.Date.default(dataset$my_date[1:4]) :
do not know how to convert 'dataset$my_date[1:4]' to class “Date”
使用函数读取时,有没有办法将此变量设置为向量read_sheet()
?
解决方案
它是一个list
并且根据?as.Date
x - as.Date 方法接受字符串、因子、逻辑 NA 和类“POSIXlt”和“POSIXct”的对象
methods(as.Date)
#[1] as.Date.character as.Date.default as.Date.factor as.Date.IDate as.Date.numeric as.Date.POSIXct
#[7] as.Date.POSIXlt as.Date.vctrs_sclr* as.Date.vctrs_vctr*
由于 没有list
方法as.Date
,我们需要将它们连接起来c
以转换为vector
(调用do.call
)
as.Date(do.call(c, dataset$my_date))
如果有NULL
元素,将其转换为NA
dataset$my_data[sapply(dataset$my_data, is.null)] <- NA
as.Date(do.call(c, dataset$my_date))
或者使用unlist
(如果它不是一个Datetime
类,即一个character
向量)
as.Date(unlist(dataset$my_date))
它可以用
lst1 <- list(Sys.time(), Sys.time())
as.Date(lst1)
as.Date.default(lst1) 中的错误:不知道如何将“lst1”转换为“日期”类</p>
通过转换为vector
as.Date(do.call(c, lst1))
#[1] "2020-09-13" "2020-09-13"
推荐阅读
- docker - Bitnami Kafka 属性 max.request.size 始终为空
- xmpp - 连接 XMPP 时检查重复的 JID
- jenkins - jenkins 函数中的 Steps,domain, config -> 是什么意思?
- chrome-extension-manifest-v3 - 如何在 chrome 扩展 mv3 上获取网络请求错误的详细信息
- sql - 嵌套 SQL MS Access 的参数输入
- dart - 使用 dart ffi 类型安全内存分配
- javascript - IdP 端的 Firebase SAML 集成服务器错误
- ssl - 带有 HSTS 的 Certbot 导致握手失败?
- python - Python:Pandas read_excel 无法打开 .xls 文件,ValueError:文件不是可识别的 excel 文件
- php - 在不使用键的情况下更改 PHP 数组的值