使用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
并将其作为单独案例处理?
答案 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.
将调用默认方法。)