我使用内置数据集" ChickWeight"。对于每个名称,体重,时间,小鸡,饮食,我的功能只是取每对名称,体重时间,体重鸡,体重饮食,时间小鸡,时间饮食,小鸡饮食之间的差异。函数和计算本身相当简单和不可靠,但我想找到如何在组合中传递2参数函数。
我的脚本如下
out <- combn(names(ChickWeight), 2, simplify=FALSE)
f <- function(x, y)
{
diff <- (x - y)
}
mapply(f, out[1,], out[2,])
更新:似乎我需要减去函数f中的数值,而不是名字。我想知道如何做到这一点。也许我需要找到一种方法来引用[1,]和out [2,],以便可以调用相应列中的数值。
答案 0 :(得分:2)
我想找到如何在组合中传递2参数函数。
好的,所以有两个问题。编程之一由
之类的东西解决combn(names(ChickWeight), 2, function(x) ChickWeight[[x[1]]] - ChickWeight[[x[2]]])
combn
总是采用单参数函数,令人困惑。
概念问题是:小鸡是有序数据而饮食是绝对的。在减法等算术运算中,这些都没有意义(这就是上面的代码给出警告和NA的原因)。