R:如何在数据框中的名称组合之间引用相应的列?

时间:2016-06-15 00:21:16

标签: r mapply combn

我设法从一组数据中创建2的不同组合,以便获得数据集中的名称对。我希望在使用mapply时有一个函数,这样我就可以使用每对中的每个名称来引用它们相应的数据集。现在我有:

myPairs <- combn(names(iris[1:4]), 2)

f <- function(x,y)
{
#Want to make a lm(x ~ y) and other potential calculations 
}

a <- myPairs[1,]
b <- myPairs[2,]

mapply(f, a, b)

换句话说,我想像这样计算:

data <- iris
attach(data)
lm(Sepal.Length ~ Sepal.Width)
lm(Sepal.Length ~ Petal.Length)
lm(Sepal.Length ~ Petal.Width)
lm(Sepal.Width ~ Petal.Length)
lm(Petal.Length ~ Petal.Width)

但是使用combn中的名称作为对数据集的引用

1 个答案:

答案 0 :(得分:2)

首先,请勿附加您的数据。请改用data的{​​{1}}参数。

让我们建立公式:

lm

然后制作模型

myFormula = apply(myPairs, MARGIN = 2, FUN = paste, collapse = " ~ ")

然后我们可以检查一些结果:

myModels = lapply(myFormula, function(x) lm(formula = x, data = iris))