我尝试从样本中获取不同水平的因子的经验分布。
出于某种原因,运行以下命令:
a <- daply(caseDataset, x, nrow) / nrow(caseDataset)
在数据集没有因子 x 级别的值的情况下给我一些 NA 所以我必须使用覆盖结果
a[is.na(a)] <- 0
如何强制 daply 具有统一的行为(并将空数据帧向下传递给 nrow)?
caseDataset 示例:
dataset <- data.frame(
a1 = c(TRUE,TRUE,TRUE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE),
a2 = c(TRUE,TRUE,FALSE,FALSE,TRUE,TRUE,FALSE,FALSE,TRUE),
a3 = c(1,6,5,4,7,3,8,7,5),
target = c('+','+','-','+','-','-','-','+','-'))
caseDataset <- subset(dataset, target=='-')
daply(caseDataset, "target", nrow)