【问题标题】:Multiple linear regression for groups of columns列组的多元线性回归
【发布时间】:2021-01-15 09:30:40
【问题描述】:

我有一个 df,第 1 列有个人 id,第 2 列有一个响应变量(粮食产量),以下列是标记数据

id yield Snp1 Snp2 Snp3 Snp4 Snp5 Snp6
id1 4.5   2    2    0    2    0    2
id2 4.2   0    2    2    2    2    2
id3 4.1   0    2    2    2    2    0
id4 4.9   2    0    0    0    2    0
id5 5.4   0    0    2    2    0    2
id6 3.9   2    2    0    2    0    0

我要做的是用两组Snp的效果在R中拟合一个线性模型,例如:第一组是Snp1 + Snp2,第二组是Snp4 + Snp5 我不知道如何编写代码,但我的想法如下:

model <- lm ( yield~ (group1) + (group2)

提前致谢。

【问题讨论】:

  • 也许你正在寻找这个:model &lt;- lm ( yield~ I(Snp1+Snp2) + I(Snp3+Snp4),data = df)
  • 或者这个:model &lt;- lm ( yield~ Snp1*Snp2 + Snp3*Snp4,data = df)
  • 上面的 cmets 或下面的答案是否解决了您的问题?如果没有,您能否澄清一下,以便我们继续提供帮助?谢谢。
  • @Duck 的回答解决了我的问题。

标签: r statistics linear-regression lm


【解决方案1】:

如果您的意思是要将回归 group1 与回归所有列进行比较,那么试试这个(对于 group2 也是如此):

fm0 <- lm(yield ~., DF[-1])
fm1 <- lm(yield ~ Snp1 + Snp2, DF)
anova(fm1, fm0)

注意

以可重现的形式输入:

Lines <- "id yield Snp1 Snp2 Snp3 Snp4 Snp5 Snp6
id1 4.5   2    2    0    2    0    2
id2 4.2   0    2    2    2    2    2
id3 4.1   0    2    2    2    2    0
id4 4.9   2    0    0    0    2    0
id5 5.4   0    0    2    2    0    2
id6 3.9   2    2    0    2    0    0"
DF <- read.table(text = Lines, header = TRUE)

【讨论】:

    猜你喜欢
    • 2010-11-23
    • 2013-07-17
    • 2014-05-20
    • 1970-01-01
    • 2016-10-15
    • 2019-07-04
    • 1970-01-01
    • 1970-01-01
    • 2014-09-21
    相关资源
    最近更新 更多