2

我尝试从样本中获取不同水平的因子的经验分布。

出于某种原因,运行以下命令:

  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)
4

1 回答 1

1

开关是否.drop_i符合您的要求?

> daply(caseDataset, "target", nrow, .drop_i=FALSE)
- + 
5 0
于 2013-07-31T08:22:25.300 回答