按行拟合回归模型

Fitting a regression model row-wise

我有这样的信息组成的数据

dput(a)
structure(list(ENSEMBL = structure(c(1L, 2L, 3L, 3L, 3L, 4L), .Label = c("ENSG00000005187", 
"ENSG00000006740", "ENSG00000008277", "ENSG00000013810"), class = "factor"), 
    log2FoldChange_Expression = c(-2.2756549273843, -1.76655532051033, 
    -1.58489726654531, -1.58489726654531, -1.58489726654531, 
    -2.04282868170093), log2FoldChange_Region = c(-2.11261476936419, 
    -2.37119008459253, -1.59565539803813, -2.4954310786834, -2.11050911441613, 
    -1.81996408306615), Peak_Region = structure(c(5L, 6L, 4L, 
    2L, 3L, 1L), .Label = c("Peak147010", "Peak194531", "Peak194535", 
    "Peak194536", "Peak75759", "Peak81940"), class = "factor")), class = "data.frame", row.names = c(NA, 
-6L))

数据框小子集

a
          ENSEMBL log2FoldChange_Expression log2FoldChange_Region Peak_Region
1 ENSG00000005187                 -2.275655             -2.112615   Peak75759
2 ENSG00000006740                 -1.766555             -2.371190   Peak81940
3 ENSG00000008277                 -1.584897             -1.595655  Peak194536
4 ENSG00000008277                 -1.584897             -2.495431  Peak194531
5 ENSG00000008277                 -1.584897             -2.110509  Peak194535
6 ENSG00000013810                 -2.042829             -1.819964  Peak147010

我的 objective 是为了适应我希望看到的回归模型

我的 log2FoldChange_Expression 我的 response variablelog2FoldChange_Region 是我的 independent variable

现在我知道如何运行的基本 lm 是这个

res=lm(log2FoldChange_Expression ~ log2FoldChange_Region, data=Down_data)

我的objective是看哪个不知道合不合逻辑!

  1. 对于 Peak_Region 及其各自的 ENSEMBL 我想拟合该模型并查看每一行的 pvalue。可以这样做吗?

我想要最终输出 table 我想在其中查看每一行的 pvalue

ENSEMBL log2FoldChange_Expression log2FoldChange_Region Peak_Region           pvalue 
1 ENSG00000005187                 -2.275655             -2.112615   Peak75759
2 ENSG00000006740                 -1.766555             -2.371190   Peak81940
3 ENSG00000008277                 -1.584897             -1.595655  Peak194536
4 ENSG00000008277                 -1.584897             -2.495431  Peak194531
5 ENSG00000008277                 -1.584897             -2.110509  Peak194535
6 ENSG00000013810                 -2.042829             -1.819964  Peak147010

看看我最后的评论。

Down_data <- structure(list(ENSEMBL = structure(c(1L, 2L, 3L, 3L, 3L, 4L),
                                         .Label = c("ENSG00000005187","ENSG00000006740", "ENSG00000008277", "ENSG00000013810"),
                                         class = "factor"),
                     log2FoldChange_Expression = c(-2.2756549273843, -1.76655532051033,-1.58489726654531, -1.58489726654531, -1.58489726654531,-2.04282868170093),
                     log2FoldChange_Region = c(-2.11261476936419,-2.37119008459253, -1.59565539803813, -2.4954310786834, -2.11050911441613,-1.81996408306615),
                     Peak_Region = structure(c(5L, 6L, 4L,2L, 3L, 1L),
                                             .Label = c("Peak147010", "Peak194531", "Peak194535","Peak194536", "Peak75759", "Peak81940"),
                                             class = "factor")),
                class = "data.frame",row.names = c(NA,-6L))

res=lm(log2FoldChange_Expression ~ log2FoldChange_Region + ENSEMBL, data=Down_data)
summary(res)