Я хочу вернуть data.frame из функции, если TRUE, иначе вернуть NA, используя return(ifelse(condition, mydf, NA))
Однако ifelse удаляет имена столбцов из data.frame.
Почемуотличаются ли эти результаты?
> data.frame(1)
X1
1 1
> ifelse(TRUE, data.frame(1), NA)
[[1]]
[1] 1
Некоторые дополнительные сведения из dput ():
> dput(ifelse(TRUE, data.frame(1), 0))
list(1)
> dput(data.frame(1))
structure(list(X1 = 1), .Names = "X1", row.names = c(NA, -1L),
class = "data.frame")