【问题标题】:R: Explorative linear regression, setting up a simple model with multiple depentent and independent variablesR:探索性线性回归,建立一个具有多个因变量和自变量的简单模型
【发布时间】:2023-03-23 16:20:01
【问题描述】:

我有一个包含多个案例的研究,所有案例都包含来自多个有序因子变量(基因型)和多个数字变量(各种血液样本(浓度))的数据。我正在尝试建立一个探索性模型来测试任何数字变量之间的线性(依赖于模型)和任何序数因子变量(独立于模型)。

数据集结构示例(自变量):genotypes

case_id   genotype_1   genotype_2   ... genotype_n
1         0            0                1
2         1            0                2
...       ...          ...              ...
n         2            1                0

和因变量(匹配案例 id:s):samples

case_id   sample_1   sample_2   ... sample_n
1         0.3        0.12           6.12
2         0.25       0.15           5.66
...       ...        ...            ...
n         0.44       0.26           6.62

在论坛找到了一个类似的例子,但没有解决问题:

model <- apply(samples,2,function(xl)lm(xl ~.,data= genotypes))

不知道如何进行简单的线性回归,该回归通过给定的一组因变量和自变量的任意组合。如果使用应用族,我猜可变(x)项应该是模型中的因变量,因为每个因变量都应该测试同一组自变量(单独)的线性。

从真实数据中提取:

> genotypes

      case_id genotype_1 genotype_2 genotype_3 genotype_4 genotype_5
 1       1          2          2          1          1          0
 2       2        NaN          1        NaN          0          0
 3       3          1          0          0          0        NaN
 4       4          2          2          1          1          0
 5       5          0          0          0          1        NaN
 6       6          2          2          1          0          0
 7       9          0          0          0          0          1
 8      10          0          0          0        NaN          0
 9      13          0          0          0        NaN          0
10      15        NaN          1        NaN          0          1

> samples

   case_id    sample_1    sample_2     sample_3   sample_4    sample_5
 1       1  0.16092019  0.08814160 -0.087733372  0.1966070  0.09085343
 2       2 -0.21089678 -0.13289427  0.056583528 -0.9077926 -0.27928376
 3       3  0.05102400  0.07724300 -0.212567535  0.2485348  0.52406368
 4       4  0.04823619  0.12697286  0.010063683  0.2265085 -0.20257192
 5       5 -0.04841221 -0.10780329  0.005759269 -0.4092782  0.06212171
 6       6 -0.08926734 -0.19925538  0.202887833 -0.1536070 -0.05889369
 7       9 -0.03652588 -0.18442457  0.204140717  0.1176950 -0.65290133
 8      10  0.07038933  0.05797007  0.082702589  0.2927817  0.01149564
 9      13 -0.14082554  0.26783539 -0.316528107 -0.7226103 -0.16165326
10      15 -0.16650266 -0.35291579  0.010063683  0.5210507  0.04404433

总结:由于我有很多数据,我想创建一个简单的模型来帮助我选择哪些可能的相关性来进一步研究。有什么想法吗?

注意:我不是要拟合多元线性回归模型!

【问题讨论】:

  • 在这里看我的回答。 stackoverflow.com/a/43941096/6118417
  • 另外我注意到你说你想测试线性度。 Ols 不测试但假设线性。
  • 感谢您的回答!不幸的是,这并不能解决多个独立和因变量的问题。我仍然必须手动检查每个因变量。而且,当然,您对测试/假设线性的技术部分是正确的。但是,人们可以使用该假设并查看它作为某种测试的表现,对吗?

标签: r apply linear-regression


【解决方案1】:

我觉得必须对线性进行统计测试,但我想不起来了。目视检查通常是我的做法。测试大量变量的线性的快速而肮脏的方法是测试每对因/自变量的 corr() 。 Small multiples 将是一个方便的方法。

或者,对于每个因序变量,运行 corrplot 与每个自(数字)变量、自变量的记录版本和自变量的指数版本。如果记录或指数版本的 CORR 结果具有比常规版本更高的 p 值,那么您似乎有一些线性问题。

【讨论】:

    猜你喜欢
    • 2020-05-20
    • 2021-07-29
    • 2018-11-16
    • 2018-07-13
    • 2020-03-06
    • 1970-01-01
    • 2019-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多