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)))
正在做什么?除了单行破解,还有更好的选择吗?