我试图在其他人编写的代码中理解 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: 一个数据帧,.可以从中推断出特殊符号的含义。如果.公式中没有,则不使用。
但是,我不太确定这些陈述的含义。有人能给我一个简单的例子,说明在我上面提到的语句和数据的上下文中它的含义吗?
在模型拟合函数的数据参数的上下文中,意思是“所有不在公式中的列”
和盒子上写的一模一样!
所以与
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在您的引文中提到的帮助中对此进行了回答)。