使用R对观察子集运行回归

时间:2015-07-08 20:26:21

标签: r

让我们说我有两个变量A:{1,2,3,4,5,6,7,8,9,10}和B:{11,12,13,14,15 ,16,17,18,19,20}我希望在R中运行回归,但只使用A> 6的观测值,即使用{7,8,9,10}和{17运行回归,18,19,20}。

在STATA中很容易做到:如果A> 6则注册A B,但在R中我找不到一种简单的方法(我使用lm命令)。

请注意我是R的新手,我只能使用香草R,我不允许安装任何包。提前谢谢。

3 个答案:

答案 0 :(得分:3)

您可以像这样使用subset参数

lm(A ~ B, subset = A > 6 )

答案 1 :(得分:1)

您可以使用条件索引

进行子集化
lm(A[A>6] ~ B[A>6])

答案 2 :(得分:1)

最好确保您的变量一起存储在同一个对象中,并且最好是该对象是数据框。通过这种方式,您可以更一般地扩展到多元回归,如果由于某种原因对数据进行重新排序,则此重组将扩展到所有变量。当您进行子集化时,它也将扩展到您的所有变量。

所以回答你的问题:

wxUSE_GRAPHICS_CONTEXT

或使用df = data.frame(A = c(1:10), B = c(11:20)) lm(A ~ B, data = df[df$A>6,]) 功能:

subset