非原始数据类型的vapply和FUN.VALUE

时间:2019-02-23 05:24:43

标签: lapply sapply as.date

vapply是否可以处理数字,字符和逻辑以外的数据类? vapply可以在原始类中返回as.Date数据吗?这是我的清单:

name <- "Truman"
birth <- as.Date("1884/05/08")
death <- as.Date("1972/12/26")
no33 <-  list("name"=name"birth"=birth,"death"=death)


name <- "Eisenhower"
birth <- as.Date("1890/10/14")
death <- as.Date("1969/03/28")
no34 <- list("name"=name"birth"=birth,"death"=death)

presidents <- list(no33,no34)

lapply可以正常工作,但是可以通过sapply转换日期:

lapply(1:length(presidents), FUN= function (x) presidents[[x]]$death)

sapply(1:length(presidents), FUN= function (x) presidents[[x]]$death)

将日期指定为数据类型时,vapply引发错误:

vapply(1:length(presidents), FUN= function (x)
  as.character(presidents[[x]]$death), FUN.VALUE = date(1)))

如果这条线可以解决

as.Date(vapply(1:length(presidents), FUN= function (x)
 as.character(presidents[[x]]$death), FUN.VALUE = 
 character(1)))

正在做什么?除了单行破解,还有更好的选择吗?

0 个答案:

没有答案