Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何使用这个特定的数据集进行线性回归?_R_Linear Regression - Fatal编程技术网

R 如何使用这个特定的数据集进行线性回归?

R 如何使用这个特定的数据集进行线性回归?,r,linear-regression,R,Linear Regression,我有一个响应变量y 我还有一个5个因变量的列表 x <- list(x1, x2, x3, x4, x5) 正确/错误基本上对应于是否包含因变量。 我不能这样做。 我试着做了lm(y~x[z]),但不起作用 你可以这样做 lm(y ~ do.call(cbind, x[z])) do.call(cbind,x[z])将x[z]转换为矩阵,这是lm可接受的输入格式。这样做的一个问题是,输出中回归器的名称(假设x是一个命名列表)有点混乱。所以,你可以这样做 lm(y ~ ., data =

我有一个响应变量
y

我还有一个5个因变量的列表

x <- list(x1, x2, x3, x4, x5)
正确/错误基本上对应于是否包含因变量。
我不能这样做。
我试着做了
lm(y~x[z])
,但不起作用

你可以这样做

lm(y ~ do.call(cbind, x[z]))
do.call(cbind,x[z])
x[z]
转换为矩阵,这是
lm
可接受的输入格式。这样做的一个问题是,输出中回归器的名称(假设
x
是一个命名列表)有点混乱。所以,你可以这样做

lm(y ~ ., data = data.frame(y = y, do.call(cbind, x[z])))

这将在输出中给出很好的名称(同样,假设
x
是一个命名列表)。

在进行线性回归之前,尝试将y绑定到data.frame或matrix(cbind)之类的方法。您可以通过以下操作过滤因变量:

x <- list(x1 = 1:5, x2 = 1:5, x3 = 1:10, x4 = 1:5, x5 = 1:5)
z <- c(TRUE, TRUE, FALSE, FALSE, TRUE)
b <- data.frame(x[which(z == TRUE)])
x
lm(y ~ ., data = data.frame(y = y, do.call(cbind, x[z])))
x <- list(x1 = 1:5, x2 = 1:5, x3 = 1:10, x4 = 1:5, x5 = 1:5)
z <- c(TRUE, TRUE, FALSE, FALSE, TRUE)
b <- data.frame(x[which(z == TRUE)])