使用R对观测数据子集进行回归

使用R对观测数据子集进行回归,r,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方面的新手,只能使用vanilla R,不允许安装任何软件包。提前感谢。您可以使用条件索引进行子集 lm(A[A>6] ~ B[A

假设我有两个变量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方面的新手,只能使用vanilla R,不允许安装任何软件包。提前感谢。

您可以使用条件索引进行子集

lm(A[A>6] ~ B[A>6])

您可以使用条件索引创建子集

lm(A[A>6] ~ B[A>6])

您可以像这样使用
子集
参数

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

您可以像这样使用
子集
参数

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

最好是确保变量存储在同一个对象中,最好是该对象是一个数据帧。通过这种方式,您可以更普遍地扩展到多元回归,如果出于某种原因重新排序数据,这种重组将扩展到所有变量。当您创建子集时,它还将扩展到所有变量

所以要回答你的问题:

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

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

最好是确保变量存储在同一个对象中,最好是该对象是一个数据帧。通过这种方式,您可以更普遍地扩展到多元回归,如果出于某种原因重新排序数据,这种重组将扩展到所有变量。当您创建子集时,它还将扩展到所有变量

所以要回答你的问题:

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

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

谢谢你的回复,但是我想运行回归,也就是说,我想要一些包括lm命令的东西。i、 e.lma~ba>6,data=dataset这类东西需要回复,但我想运行回归,也就是说,我想要包含lm命令的东西。i、 e.lm A~B A>6,data=dataset这类问题需要回答,如果我要包括data=dataset选项,我该怎么做?同样的事情,只需添加用逗号分隔的
data=dataset
。感谢你的回答,如果我要包括data=dataset选项,我该怎么做?同样的事情,只需添加用逗号分隔的
data=dataset