制作具有不确定数量变量的公式的最佳方法

时间:2011-10-19 20:18:48

标签: r

我有很多数据。我想在glm中使用公式

数据在这样的矢量中:

{A1,A2,B1,B2,...}

我想制作一个这样的公式:

身份~a1:a2 + b1:b2 + ...

任何快速简便的建议?

1 个答案:

答案 0 :(得分:7)

我不确定我是否理解你的问题。提供示例数据会使其更容易。以下内容与您的内容类似吗?

## Create example data
variables <- c("a1", "a2", "b1", "b2", "c1", "c2")
dat <- data.frame(matrix(rnorm(70), ncol = 7))
names(dat) <- c("Identity", variables)

## Create formula
formula <- paste(variables[grep("1$", variables)], variables[grep("2$", variables)], sep = ":", collapse = " + ")
formula <- paste("Identity ~ ", formula, sep = "")

## Run model
glm1 <- glm(formula = formula, data = dat)
summary(glm1)

上图中,公式是使用paste()创建的,sepcollapse参数用于将所有内容与相应的:和{{1}组合在一起}。