lm(y~x * g)忽略g的一个值

时间:2013-02-15 16:53:29

标签: r subset linear-regression lm

我第一次尝试使用R.

在这种情况下,y是耗氧量,x是时间,g是由最多三个字母(NYF,IR,F,M或NF)指示的状态。除了F.

之外,它将为每个状态运行回归

[旁注:我也尝试使用子集函数通过多次回归来完成此操作。当我使用

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

它实际上并不遵循该子集,并且无论我输入哪种状态,都会为整个数据集提供回归。

如何根据status列中的代码从单个数据集中获取多个简单线性回归?

2 个答案:

答案 0 :(得分:0)

你的问题不明确。假设您有一个数据框dd,其中有三列:yxg。变量yx是数字,g取值NYFIRFM或{ {1}}。要对特定状态执行简单的线性回归,请:

NF

要执行多元线性回归,请尝试

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

其中因子的存在或不存在由二元变量指示。

答案 1 :(得分:0)

lm(y~x,subset(dd,g =='NYF'))

是适合单个状态行的适当语法(尽管其他人正在为您提供可行的变体)。我会检查以确保您的数据框确实命名为“data”,并且您的状态变量名为“Status”。