この特定のケースで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 を使用してリストをベクトルに変換できます。Date
do.call
c
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"
余談ですが、T
and F
for TRUE
andを使用すると、 and は再割り当てできますが、再割り当てできないため、FALSE
少し心配です。T
F
TRUE
FALSE