2013-02-15 69 views
-1

我試圖首次使用R.lm(y〜x * g)忽略g的一個值

在這種情況下,y是耗氧量,x是時間,g是最多由三個字母(NYF,IR,F,M或NF)表示的狀態。它會運行回退除了樓梯以外的每個狀態。

[注:我也試着用多個迴歸使用子集函數來完成此操作。當我使用

lm(O2~time,subset(data,Status=="NYF")) 

它實際上並沒有堅持子集,並讓我對整個數據,而不管其狀態我進入設置一個迴歸。

如何根據status列中的代碼從單個數據集中獲取多個簡單線性迴歸?

+0

你在說什麼狀態欄?對於這個問題,你的問題的背景是什麼 - Excel? Matlab的? R'還有別的嗎? – 2013-02-15 16:54:37

+0

對不起,我正在使用R.「狀態」是我的數據中的一列,其中包含我要按數據排序的代碼。 – user2076298 2013-02-15 17:00:04

+1

你知道使用分類變量做迴歸將是參考嗎?而且,默認情況下,它是排序中的第一個... – Rcoster 2013-02-15 17:05:58

回答

0

你的問題不清楚。假設您有一個數據框dd,有三列:y,x,g。變量yx是數字,而g取值NYF,IR,F,MNF。進行簡單的線性迴歸爲特定狀態,則:

lm(y ~ x, data=dd[dd$g=="NYF",]) 
#Or 
lm(y ~ x, data=dd[dd$g=="IR",]) 

要執行多次線性迴歸,嘗試

lm(y ~ x + g, data=dd) 

其中本或不存在的一個因素是由二進制變量表示。

+0

對不起,問題並不清楚,我是R新手,而且我不太清楚正確的術語。無論如何,謝謝你試着回答它。你的方法似乎工作! – user2076298 2013-02-15 17:25:33

0

流明(Y〜X,子集(DD,G == 'NYF'))

是適當的語法,以適應單個狀態行(雖然別人給你的變種,將工作)。我會檢查以確保您的數據框確實被命名爲「數據」,並且您的狀態變量被命名爲「狀態」。

相關問題