Могу ли я экспортировать результат лёссовой регрессии из R?

Я провел лёссовую регрессию по некоторым данным и начертил ее. Проблема в том, что я хотел бы экспортировать черную линию и светло-красную линию (см. Рисунок) в 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") 

person HCAI    schedule 02.05.2016    source источник
comment
Если вы используете RStudio, над графиком есть раскрывающийся список «Экспорт». В противном случае посмотрите на функцию ggsave().   -  person joran    schedule 02.05.2016
comment
Ах да, я должен уточнить. Я имею в виду, что я хотел бы экспортировать фактические данные, которые генерирует лёсс, чтобы я мог перерисовать их в Excel :-)   -  person HCAI    schedule 02.05.2016
comment
Соберите модель, используя loess, создайте данные с разрешением, которое вы хотите экспортировать new = data.frame(bigangle = seq(0, 360, by = 0.5)), сгенерируйте прогнозы, new$loess_predict = predict(your_loess_model, newdata = new), а затем сохраните их как CSV или любой другой файл, который вы хотите.   -  person Gregor Thomas    schedule 02.05.2016


Ответы (1)


Я не уверен, какую функцию лёсса использует ggplot2, но вот один из способов извлечь объект лёсса для построения графика в 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)
person lmo    schedule 02.05.2016
comment
ggplot использует stats::loess, так что это совершенно правильно. - person Gregor Thomas; 02.05.2016
comment
Большое спасибо! Фантастический ответ :-) - person HCAI; 02.05.2016
comment
Привет Имо. Я обнаружил, что my.output$fitted не представляет собой черную линию на графике выше. Разве не должно? Он думал, что он должен делать правильно? - person HCAI; 13.05.2016
comment
Есть много причин, которые могут стоять за этим. Например, сколько у вас наблюдений? Взгляните на ?geom_smooth после загрузки ggplot2. Если у вас более 1000 наблюдений, geom_smooth использует другую функцию. Есть много параметров, которые можно настроить в ?loess. Хотя я не вижу никаких различий в сравнении файлов справки, что-то может быть установлено на другом уровне. - person lmo; 13.05.2016