Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.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 将lm回归应用于每行时出错_R_Apply - Fatal编程技术网

R 将lm回归应用于每行时出错

R 将lm回归应用于每行时出错,r,apply,R,Apply,我想对我的每一行数据dt运行lm回归。 我的代码是 coe <- apply(dt, 1, FUN = function(x) lm(dbl ~ bld, data = as.data.frame(x))$coefficients) coe我猜您错误地编写了按行运行回归(这是不可能的,因为在y~x中,x和y只有一个观察值)。相反,您想为某个分组变量重复运行回归吗 使用groupedstats,这非常容易: groupedstats::grouped\u lm( 数据=ggplot2::菱

我想对我的每一行数据
dt
运行
lm
回归。 我的代码是

coe <- apply(dt, 1, FUN = function(x) lm(dbl ~ bld, data = as.data.frame(x))$coefficients)

coe我猜您错误地编写了按行运行回归(这是不可能的,因为在
y~x
中,
x
y
只有一个观察值)。相反,您想为某个分组变量重复运行回归吗

使用
groupedstats
,这非常容易:

groupedstats::grouped\u lm(
数据=ggplot2::菱形,
grouping.vars=c(切割、颜色),#分组变量
公式=价格~克拉*透明度#公式
)
#>#A tibble:547 x 10
#>切割颜色项估计标准错误t值形态低形态高
#>                            
#>1理想E(Int~-3085.64.9-47.5-3212-2958。
#>2理想的E克拉10529.74.1142.10384.10674。
#>3理想E克拉~-2088.267.-7.81-2612.-1564。
#>4理想E克拉~168.265.0.633-352.688。
#>5理想E克拉~-926.217.-4.26-1352.-500。
#>6理想E克拉~625.157.3.99318.932。
#>7理想E克拉~-392.107.-3.65-602.-181。
#>8理想E克拉~83.9 79.1 1.06~71.1 239。
#>9理想E克拉~-40.867.4-0.605-173.91.4
#>10理想E卡拉~9746.287.34.09185.10308。
#>#…又有537行和2个变量:p.value,
#>#意义

由(v0.2.0.9000)于2018-08-19创建。

您尝试执行的操作存在两个问题。当您将
dt
传递到
apply
时,它会将
x
降到a(命名)数值向量。当您使用
as.data.frame
强制它时,它将成为一个带有一列的data.frame。这就是找不到
dbl
的原因

> x <- c(a = 1, b = 0.58)
> as.data.frame(x)
     x
a 1.00
b 0.58

您将无法估计感兴趣的参数,因为您需要更多的点来进行此操作。

谢谢,它可以工作。回归是否在分组变量中重复?如果只有一个分组变量,则将对该分组变量的所有级别进行回归。如果有多个分组变量,则重新计算将对所有可能的组合进行回归。
> lm(b ~ a, data = data.frame(a = 1, b = 0.58))

Call:
lm(formula = b ~ a, data = data.frame(a = 1, b = 0.58))

Coefficients:
(Intercept)            a  
       0.58           NA