2017-08-12 115 views
1

我想在別人寫的代碼中理解R中這個語句的含義。在lm(y〜。)中點的含義R

mymodel = lm(gene ~ ., data = mydata) 

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 

我已經通過R幫助部分找到如何.解釋。據我所知,.通常不使用,但是這是我發現

help(formula) 

有一個公式中的.兩個特殊的解釋。通常的 之一是在模型擬合函數 的參數data的上下文中,並且意味着'公式中沒有其他所有列':參見 terms.formula。在update.formula上下文中,,它意味着 「什麼是先前在公式中該部分」

help(terms.formula) 

AllowDotAsName:在公式中通常.是指包含在其餘 變量data。例外情況下,.可被視爲 名稱,用於公式的非標準用途。

data:數據幀,從中可以推斷出特殊符號.的含義。如果公式中沒有.,則不使用。

但是,我不太確定這些陳述的意思。有人可以給我一個簡單的例子,說明我在上面提到的陳述和數據中的含義嗎?

+1

https://stats.stackexchange.com/questions/10712/what-is-the-meaning-of-the-dot-in-r –

+1

這意味着使用所有其他變量(cna,rs ...,pc1和pc2)作爲模型中的獨立變量。 – ayhan

+2

它正是它所說的:「所有列」(來自提供給'data'參數的數據)''不在公式中'。在這種情況下,由於提供了「基因」,其餘部分被作爲解釋變量,所以'基因〜'相當於'基因〜cna + rs11433683 + PC1 + PC2'。儘管如此,解釋只會到目前爲止;嘗試一下,看看結果模型的差異。 – alistaire

回答

1
在模型擬合函數的數據參數的情況下

,並表示「所有列,否則不會在公式中」

正是它說有包裝盒上的!

因此,與

mymodel = lm(gene ~ ., data = mydata) 

你得到比gene這是在mydata對公式的RHS每個變量其他:

cna + rs11433683 + PC1 + PC2 

據我所看到的,所引用的語句是清楚明確(...但你也可以看到它只是從幾個小例子中看出來)

唯一可能不明顯的是如果您沒有提供data參數(但在terms.formula的引用中回答了您的報價中的答案),它會發生什麼。

+0

我同意,事後看來,引用的文字看起來很清楚,只要我看到這個例子。然而,「通常的一個是在模型擬合函數的數據論證的背景下,意味着'公式中沒有其他所有列':參見terms.formula」並不一定會引導讀者理解y〜。相當於y〜a + b + c ...其中a,b,c是其他數據列,特別是如果它們是新的字段。幫助部分是用密集文本編寫的,並且已經與R高度熟悉。 –

-1

意味着你比較基因所有變量的