0

我正在使用内置数据集“ChickWeight”。对于每个名称、体重、时间、小鸡、饮食,我的功能只是取每对名称之间的差异,即体重时间、体重小鸡、体重饮食、时间小鸡、时间饮食、小鸡饮食。函数和计算本身相当简单和不必要,但我想知道如何在组合中传递 2 参数函数。

我的脚本如下

out <- combn(names(ChickWeight), 2, simplify=FALSE)

f <- function(x, y)
{
diff <- (x - y)
}

mapply(f, out[1,], out[2,])

更新:似乎我需要减去函数 f 中的数值,而不是名称。我想知道我该怎么做。也许我需要找到一种方法来引用 out[1,] 和 out[2,] 以便可以调用相应列中的数值。

4

1 回答 1

2

我想知道如何在组合中传递 2 参数函数。

好的,所以有两个问题。编程是由类似的东西解决的

combn(names(ChickWeight), 2, function(x) ChickWeight[[x[1]]] - ChickWeight[[x[2]]])

combn总是采用单参数函数,令人困惑。


概念问题是:Chick 是序数数据,Diet 是分类数据。这些在减法等算术运算中都没有意义(这就是上面的代码给出警告和 NA 的原因)。

于 2016-06-14T21:44:57.067 回答