この特定のケースでpminは、トリックを行うと思います:
POP.Start.final <- pmin(combinedOM$Cons.Start.Date.y,
combinedOM$OS.Start.Date.y,
na.rm=TRUE)
一般的な場合SIMPLIFY=TRUE(デフォルト) は、ユーティリティ関数simplify2arrayを使用して、 を介してリストをアトミック モードのベクトルに変換しますas.vector。日付は内部的に数値として格納されるためSIMPLIFY=TRUE、 は日付のリストを数値モードのベクトルに変換し、クラスを削除しますDate。クラスSIMPLIFY=FALSEを保持するように設定し、 with を使用してリストをベクトルに変換できます。Datedo.callc
POP.Start.final <- do.call(c,mapply(min, combinedOM$Cons.Start.Date.y,
combinedOM$OS.Start.Date.y,
MoreArgs = list(na.rm=TRUE),SIMPLIFY=FALSE))
再現可能なコード:
a <- as.Date(c("2012-01-11","2012-06-30","2012-04-18"))
b <- as.Date(c("2013-04-21","2012-03-22","2012-05-01"))
pmin(a,b)
#[1] "2012-01-11" "2012-03-22" "2012-04-18"
do.call(c,mapply(min,a,b,MoreArgs=list(na.rm=TRUE),SIMPLIFY=FALSE))
#[1] "2012-01-11" "2012-03-22" "2012-04-18"
余談ですが、Tand Ffor TRUEandを使用すると、 and は再割り当てできますが、再割り当てできないため、FALSE少し心配です。TFTRUEFALSE