R中lm(y~.)中点的含义

alp*_*989 7 r

我试图在其他人编写的代码中理解 R 中这条语句的含义。

mymodel = lm(gene ~ ., data = mydata) 
Run Code Online (Sandbox Code Playgroud)

mydata 如下:

> mydata
                 gene    cna rs11433683      PC1    PC2
TCGA.BH.A0C0 270.7446 0.1291          0 270.7446 0.1291
TCGA.A2.A3XY  87.9092 0.0128          1  87.9092 0.0128
TCGA.XX.A89A 255.1346 0.1530          1 255.1346 0.1530
Run Code Online (Sandbox Code Playgroud)

我已经浏览了 R 帮助部分以了解如何.解释。我知道这.通常不被使用,但这是我发现的

help(formula)
Run Code Online (Sandbox Code Playgroud)

.在一个公式中有两种特殊的解释。通常的一个是在data模型拟合函数参数的上下文中,意思是“所有不在公式中的列”:参见 terms.formula。在update.formula, only的上下文中,它的意思是“公式的这一部分以前是什么”

help(terms.formula)
Run Code Online (Sandbox Code Playgroud)

AllowDotAsName:通常.在公式中是指包含在data. 在特殊情况下,.可以将其视为公式的非标准用途的名称。

data: 一个数据帧,.可以从中推断出特殊符号的含义。如果.公式中没有,则不使用。

但是,我不太确定这些陈述的含义。有人能给我一个简单的例子,说明在我上面提到的语句和数据的上下文中它的含义吗?

Gle*_*n_b 6

在模型拟合函数的数据参数的上下文中,意思是“所有不在公式中的列”

和盒子上写的一模一样!

所以与

 mymodel = lm(gene ~ ., data = mydata) 
Run Code Online (Sandbox Code Playgroud)

你会得到 公式 RHS之外gene的所有变量mydata

   cna + rs11433683 + PC1 + PC2
Run Code Online (Sandbox Code Playgroud)

就我所见,引用的短语清晰明确(……但您也可以通过尝试几个小例子来看到它)

唯一可能不明显的是,如果您没有提供data参数,它会做什么(但terms.formula在您的引文中提到的帮助中对此进行了回答)。