我很难理解以下代码的结构。
我会说它从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)。
答案 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函数中相对广泛隐藏的值强制转换为其他类型。它不是强类型语言,但这确实给用户带来了解他们正在使用的功能的负担。