R 为什么Sappy中包装为.Date()只返回数字数据类型,而lapply返回日期数据类型?

R 为什么Sappy中包装为.Date()只返回数字数据类型,而lapply返回日期数据类型?,r,lapply,sapply,as.date,R,Lapply,Sapply,As.date,在我工作的地方,我们接收的数据集是字符格式的,因此需要将其更改为适当的数据类型,以便在R中进行任何分析 但我注意到一件奇怪的事情,就是使用as.Date将包含日期的列从字符转换为日期。sapply将列转换为数字,而lapply将列转换为所需的日期格式 我只是好奇为什么会发生这种行为。欢迎来到StackOverflow,这是一个很好的问题 这是由于结果类型造成的sapply返回一个向量,而as.vector()步骤会去除class属性。这是不幸的,但有文件证明: R> dates <-

在我工作的地方,我们接收的数据集是字符格式的,因此需要将其更改为适当的数据类型,以便在R中进行任何分析

但我注意到一件奇怪的事情,就是使用as.Date将包含日期的列从字符转换为日期。sapply将列转换为数字,而lapply将列转换为所需的日期格式


我只是好奇为什么会发生这种行为。

欢迎来到StackOverflow,这是一个很好的问题

这是由于结果类型造成的
sapply
返回一个向量,而
as.vector()
步骤会去除class属性。这是不幸的,但有文件证明:

R> dates <- Sys.Date() + 0:2
R> dates
[1] "2020-04-25" "2020-04-26" "2020-04-27"
R> as.vector(dates)
[1] 18377 18378 18379
R> 
Sappy做了一个搭接,而“简化”了它。请参阅帮助文件。
as.list(dates)
[[1]]
[1] "2020-04-25"

[[2]]
[1] "2020-04-26"

[[3]]
[1] "2020-04-27"

R>