如何计算存储在列中的 df 中多个变量的逐行 lm() / coeffs?
我有这种数据(只是例子):
set.seed(1)
foo <- data.frame(trialNumber= 1:10,
Nr1 = runif(10),
Nr2 = runif(10),
Nr3 = runif(10),
Nr4 = runif(10),
Nr5 = runif(10),
Nr6 = runif(10),
slope = NA)
trialNumber 代表我在一个试验中直接测量六个值的试验中的每一个。
我设法使用以下代码用带有箱线图的线性回归线绘制这些数据:
foo_1 <- reshape2::melt(data = foo, id.vars = "trialNumber", measure.vars = c("Nr1", "Nr2", "Nr3", "Nr4", "Nr5", "Nr6"))
p <- ggplot(data = foo_1) +
aes(x = variable,
y = value) +
geom_boxplot() +
geom_jitter(shape = 1, position = position_jitter(0.1)) +
ylim(0, NA) +
geom_smooth(method = "lm", se = TRUE, formula = y ~ x, aes(group = 1))
print(p)
这导致了这个图表:
现在这是所有试验的线性回归线,但我希望将斜率(或回归系数)按行存储在变量“斜率”中。
最后我想要一个像这样的df:
trialnumber | Nr1 | Nr2 | Nr3 | Nr4 | Nr5 | Nr6 | slope
1 | 0.26550866 | 0.2059746|0.93470523|0.4820801|0.8209463|0.47761962|e.g. 0.07
2 | ? | ? | ? | ? | ? | ? |e.g. 3.81
.
.
.
我怎样才能做到这一点?我已经研究过这个apply
功能,但我不知道如何使用它。
非常感谢您!