【问题标题】:Can I export the result from a loess regression out of R?我可以从 R 中导出黄土回归的结果吗?
【发布时间】:2016-05-02 16:25:06
【问题描述】:

我对一些数据进行了黄土回归并绘制了它。问题是我想将黑线和浅红线(见图)导出到 excel 中。有可能吗?

澄清:

我想从黄土回归而不是图表中导出基础数据。

用于计算的代码:

ggplot(data, aes(x=bigangle, y=meanz, colour=treatment)) + 
  geom_point(data=df, aes(y = X2/median(df$X2), x=X8),color="red",alpha=.6) +
  geom_smooth(data=df, aes(y = X2/median(df$X2),x=X8),fill="red", colour="black", size=1,alpha=0.4)+
  geom_point(position=position_dodge(0.1),aes(shape=treatment),   # Shape depends on cond
             size = 4,colour="black",fill="black") 

【问题讨论】:

  • 如果您使用的是 RStudio,则绘图上方有一个“导出”下拉菜单。否则看函数ggsave()
  • 啊,是的,我应该澄清一下。我的意思是我想导出黄土生成的实际数据,以便我可以在 excel 中重新绘制它:-)
  • 使用 loess 拟合模型,以您想要导出的分辨率创建数据 new = data.frame(bigangle = seq(0, 360, by = 0.5)),生成预测,new$loess_predict = predict(your_loess_model, newdata = new),然后将其保存为 CSV 或您想要的任何其他文件。

标签: r ggplot2 loess


【解决方案1】:

我不确定 ggplot2 使用什么 loess 函数,但这是提取 loess 对象以在 Excel 中绘制图形的一种方法:

# fake data
myData <- data.frame("x"=1:100, "y"=rnorm(100))
# loess object
my.loess <- loess(y~x, data=temp)
# get SE
myPred <- predict(my.loess, se=T)
my.output <- data.frame("fitted"=myPred$fit, "SE"=myPred$se.fit)

# write out data
write.csv(my.output, file=<path/filename>.csv)

【讨论】:

  • ggplot 使用 stats::loess 所以这是完全正确的。
  • 非常感谢!很棒的答案:-)
  • 嗨,伊莫。我发现 my.output$fitted 不代表上图中的黑线。不应该吗?它认为它应该做对吗?
  • 这背后可能有很多原因。例如,您有多少观察结果?加载ggplot2 后查看?geom_smooth。如果您有超过 1000 个观察值,则 geom_smooth 使用不同的函数。 ?loess中有很多参数可以调整。虽然在比较帮助文件时我没有发现任何差异,但可能会将某些内容设置为不同的级别。
猜你喜欢
  • 2022-01-23
  • 2020-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-19
  • 2012-09-23
  • 1970-01-01
  • 2021-12-10
相关资源
最近更新 更多