特定の要件を満たす行を返す R 関数を作成しましたが、出力形式に問題がありました。
たとえば、特定の値を持つ行を返します。
xx.1 <- data.frame(aa= 1:5, bb = c("AA","BB","CC","DD","EE"))
xx.2 <- c("AA","DD")
ff_in <- function(x,y){
if (toupper(x[2]) %in% y) {return(x)}
}
apply(xx.1,1,ff_in,xx.2)
ただし、出力は次のようになります。
[[1]]
aa bb
"1" "AA"
[[2]]
NULL
[[3]]
NULL
[[4]]
aa bb
"4" "DD"
[[5]]
NULL
R return null を抑制し、このようなものを返す方法は?
aa bb
"1" "AA"
"4" "DD"