让我们说我有两个变量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,我不允许安装任何包。提前谢谢。
答案 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