gpt4 book ai didi

r - 从 Googlesheets 导入时,返回一个我无法在 R 中转换为日期的列表

转载 作者:行者123 更新时间:2023-12-04 08:55:03 24 4
gpt4 key购买 nike

当我从 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 - The as.Date methods accept character strings, factors, logical NA and objects of classes "POSIXlt" and "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)

Error in as.Date.default(lst1) :do not know how to convert 'lst1' to class “Date”


通过转换为 vector
as.Date(do.call(c, lst1))
#[1] "2020-09-13" "2020-09-13"

关于r - 从 Googlesheets 导入时,返回一个我无法在 R 中转换为日期的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63875387/

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