我有很多数据。我想在glm中使用公式
数据在这样的矢量中:
{A1,A2,B1,B2,...}
我想制作一个这样的公式:
身份~a1:a2 + b1:b2 + ...
任何快速简便的建议?
答案 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()
创建的,sep
和collapse
参数用于将所有内容与相应的:
和{{1}组合在一起}。