如何阅读以下代码?

时间:2014-08-15 13:31:44

标签: r

我很难理解以下代码的结构。

我会说它从data.frame数据和outpute获取c和d的每个元组的平均值以及sd(或outputes vector?)。我错了吗?

   A <- with(data ,
   tapply (b, list( c , d ),
   function (x) c(M = mean (x), SD = sd(x))))

根据manuel tapply用于因素。如果c&amp; d是1&amp;命令仍然适用0?我不确定c&amp; d被转换为因子(是和否)或命令是否用于(1&amp; 0)。

1 个答案:

答案 0 :(得分:1)

tapply会强制执行任何列表项,以便在执行不规则表聚合之前进行因子分析。下面是一个示例,其中赋予INDEX参数的两列都是整数:

set.seed(123); dff <- data.frame(N=rnorm(100), 
                          A=sample(0:1, 100, rep=TRUE), 
                          B=sample(0:1, 100, rep=TRUE) )

 tapply( dff$N, dff[2:3], mean)
   B
A            0          1
  0 -0.0120944 0.07484158
  1  0.1653022 0.16514699

有些人抱怨R函数中相对广泛隐藏的值强制转换为其他类型。它不是强类型语言,但这确实给用户带来了解他们正在使用的功能的负担。