从 LOESS 图导出结果
Export results from LOESS plot
我正在尝试从 LOESS 图(蓝线)导出基础数据
我在该主题上找到了这个 post 并且能够像 post 所说的那样导出它:
然而,正如 poster 在 post 中的最后评论所说,我没有得到我的 LOESS 系列的结果。有没有人对如何正确导出它有任何见解?
谢谢!
导出代码在这里:
#loess object
CL111_loess <- loess(dur_cleaned~TS_LightOn, data = CL111)
#get SE
CL111_predict <- predict(CL111_loess, se=T)
CL111_ouput <- data.frame("fitted" = CL111_predict$fit, "SE"=CL111_predict$se.fit)
write.csv(CL111_ouput, "CL111_output.csv")
原图数据为here:
我的原始情节代码在这里:
{r}
#individual plot
ggplot(data = CL111) + geom_smooth(mapping = aes(x = TS_LightOn, y = dur_cleaned), method = "lm", se = FALSE, colour = "Green") +
labs(x = "TS Light On (Seconsd)", y = "TS Response Time (Seconds)", title = "Layout 1, Condition AO, INS High") +
theme(plot.title = element_text(hjust = 0.5)) +
stat_smooth(mapping = aes(x = TS_LightOn, y = dur_cleaned), method = "loess", se = TRUE) + xlim(0, 400) + ylim (0, 1.0)
#find coefficients for best fit line
lm(CL111_LM$dur_cleaned ~ CL111_LM$TS_LightOn)
您可以通过 ggplot_build()
获取此信息。
如果您的绘图保存为gg1
、运行 ggplot_build(gg1)
;然后你必须检查 data
对象(这是不同层的数据列表)并尝试找出你需要的层(在这种情况下,我寻找哪个数据层包含 colour
与平滑线匹配的列 ...
bb <- ggplot_build(gg1)
## extract the right component, just the x/y coordinates
out <- bb$data[[2]][,c("x","y")]
## check
plot(y~x, data = out)
你现在可以用这个输出做任何你想做的事了(write.csv()
, save()
, saveRDS()
...)
我同意 weird/that 我不明白 ggplot2
设置黄土拟合的方式。你必须用正确的 newdata
做 predict()
(例如,具有单列 TS_LightOn
的数据框,范围从 0 到 400) - 否则你会得到数据中点的预测设置,这可能不是 spaced/in 正确的顺序 - 但这并不能解决我的差异。
我正在尝试从 LOESS 图(蓝线)导出基础数据
我在该主题上找到了这个 post 并且能够像 post 所说的那样导出它:
然而,正如 poster 在 post 中的最后评论所说,我没有得到我的 LOESS 系列的结果。有没有人对如何正确导出它有任何见解?
谢谢!
导出代码在这里:
#loess object
CL111_loess <- loess(dur_cleaned~TS_LightOn, data = CL111)
#get SE
CL111_predict <- predict(CL111_loess, se=T)
CL111_ouput <- data.frame("fitted" = CL111_predict$fit, "SE"=CL111_predict$se.fit)
write.csv(CL111_ouput, "CL111_output.csv")
原图数据为here:
我的原始情节代码在这里:
{r}
#individual plot
ggplot(data = CL111) + geom_smooth(mapping = aes(x = TS_LightOn, y = dur_cleaned), method = "lm", se = FALSE, colour = "Green") +
labs(x = "TS Light On (Seconsd)", y = "TS Response Time (Seconds)", title = "Layout 1, Condition AO, INS High") +
theme(plot.title = element_text(hjust = 0.5)) +
stat_smooth(mapping = aes(x = TS_LightOn, y = dur_cleaned), method = "loess", se = TRUE) + xlim(0, 400) + ylim (0, 1.0)
#find coefficients for best fit line
lm(CL111_LM$dur_cleaned ~ CL111_LM$TS_LightOn)
您可以通过 ggplot_build()
获取此信息。
如果您的绘图保存为gg1
、运行 ggplot_build(gg1)
;然后你必须检查 data
对象(这是不同层的数据列表)并尝试找出你需要的层(在这种情况下,我寻找哪个数据层包含 colour
与平滑线匹配的列 ...
bb <- ggplot_build(gg1)
## extract the right component, just the x/y coordinates
out <- bb$data[[2]][,c("x","y")]
## check
plot(y~x, data = out)
你现在可以用这个输出做任何你想做的事了(write.csv()
, save()
, saveRDS()
...)
我同意 weird/that 我不明白 ggplot2
设置黄土拟合的方式。你必须用正确的 newdata
做 predict()
(例如,具有单列 TS_LightOn
的数据框,范围从 0 到 400) - 否则你会得到数据中点的预测设置,这可能不是 spaced/in 正确的顺序 - 但这并不能解决我的差异。