0

我正在尝试用 plot_ly 制作相关图

作为一个例子,我做

library(plotly)

d <- diamonds[sample(nrow(diamonds), 1000), ]

p <- plot_ly(
  d, x = ~carat, y = ~price,
  # Hover text:
  text = ~paste("Price: ", price, '$<br>Cut:', cut),
  color = ~carat, size = ~carat
)

然后绘制

但是如何制作线性线并计算 R2?有办法吗?

如果您知道任何其他方法可以做到这一点,请告诉我。

例如,这样的事情会很棒

[![enter image description here][1]][1]

http://vault.hanover.edu/~altermattw/courses/220/R/corr/corr_2.html

我试图这样做:

library(ggplot2)
ggplot(d, aes(x=carat, y=price)) +
        geom_point(aes(colour = Outcome)) +     
        geom_smooth(method=lm) 

我得到一个错误。

4

1 回答 1

3

你可以试试这个:

fit <- lm(price ~ carat-1, data = d)
summary(fit)$adj.r.squared

a <- list(
    x = 2,
    y = 5000,
    text = "R2 = 0.88",
    xref = "x",
    yref = "y",
    showarrow = FALSE,
    arrowhead = 7
)


plot_ly() %>% add_markers(data = d, x= ~ carat, y = ~ price, color = ~carat, size = ~carat, name = "Size", marker=list(colorbar=list(title='Colorbar'))) %>%  
    add_lines(x = ~carat, y = fitted(fit), name = "Regression line") %>% 
    layout(annotations = a)

在此处输入图像描述

于 2018-02-03T17:10:39.310 回答