如何在R中正确组合POSIXct对象和NULL?

时间:2016-12-06 13:06:53

标签: r posixct

使用R的原始c函数时,将当前日期时间与NULL组合得出:

> class(c(NULL,Sys.time()))
[1] "numeric"

但是最后传递NULL:

> class(c(Sys.time(),NULL))
[1] "POSIXct" "POSIXt"

这是打算吗? c的文档内容如下: “输出类型由层次结构中的最高组件类型NULL< raw< logical< integer< double< complex< character< list< expression”确定。但是没有提到秩序是相关的。

是否有更好(更一致)的方法将类POSIXct的对象与NULL组合到一个向量中?或者,是否应始终明确测试NULL并将其作为单独案例处理?

1 个答案:

答案 0 :(得分:2)

这是因为POSIXct充当了S3通用,并且有一个> c.POSIXct function (..., recursive = FALSE) .POSIXct(c(unlist(lapply(list(...), unclass)))) <bytecode: 0x000001ab3e6efe58> <environment: namespace:base> 方法:

c(POSIXct, NULL)

(S3方法在第一个参数的类上调度,因此c.POSIXct将调用c(NULL, POSIXct),而$ git pull assembla You asked to pull from the remote 'assembla', but did not specify a branch. Because this is not the default configured remote for your current branch, you must specify a branch on the command line. 将调用默认方法。)