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