【发布时间】:2018-05-21 14:04:02
【问题描述】:
我在线性回归中循环这两个变量时遇到问题,想知道是否有人可以提供帮助。
我有多个遵循这种一般模式的数据集
Probe Test1 Test2 Test-n Control1 Control2 Control-n
Gene1 21 6 97 34 47 34
Gene2 49 32 49 23 12 90
Gene3 23 9 78 58 48 6
Gene4 19 65 2 42 56 24
Gene5 34 39 28 28 8 94
Gene6 79 26 94 47 31 76
Gene7 33 33 22 78 64 51
Gene8 1 61 26 63 85 83
Gene9 54 84 34 23 32 1
Gene-n 89 65 13 2 84 65
我正在尝试以成对的方式运行一系列线性回归,以便计算所有可能的组合,即 Test1-Test2、Test1-Test-n 等
到目前为止,我只能使用以下代码循环方程的第二部分。
df <- read.csv("test.csv")
names(df)
varlist <- names(df)[3:7]
models <- lapply(varlist, function(x) {
lm(substitute(Test1 ~ i, list(i = as.name(x))), data = df)
})
models[[1]]
lapply(models, summary)
但除了手动将其替换为下一个变量之外,我无法找到有关如何循环 Test1 的任何信息,考虑到其中一些变量超过 1000 个,这是相当不切实际的。
我能找到的最接近的方法是提到的here,但它仍然不是我所需要的。我错过了一些明显的东西吗?
提前致谢。
【问题讨论】:
-
也许您应该将
lapply调用嵌套在另一个更改Test1值的lapply调用中? -
这似乎是徒劳的。为什么不从相关性开始,即 cor(df)?
标签: r loops linear-regression