【发布时间】:2011-09-12 17:39:06
【问题描述】:
如果为 TRUE,我想从函数返回 data.frame,否则使用 return(ifelse(condition, mydf, NA)) 返回 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")
【问题讨论】:
标签: class function r if-statement