R plotly中分组数据上的错误无法正常工作
我想在plotly中创建一个包含分组数据的绘图。它不能正常工作,因为它只生成一行。这好像是一只虫子R plotly中分组数据上的错误无法正常工作,r,plotly,R,Plotly,我想在plotly中创建一个包含分组数据的绘图。它不能正常工作,因为它只生成一行。这好像是一只虫子 df <- data.frame( id = rep(1:1000, 3), value = c(rnorm(1000,mean = 2), rnorm(1000,mean = 4), rnorm(1000,mean = 6)), var = rep(LET
df <- data.frame(
id = rep(1:1000, 3),
value = c(rnorm(1000,mean = 2),
rnorm(1000,mean = 4),
rnorm(1000,mean = 6)),
var = rep(LETTERS[1:3], each = 1000))
# ggplot2 - it works as it should be
ggplot(df, aes(id, value, color = var)) +
geom_smooth(method = "loess")
# plotly - it doesn't work properly
df %>%
plot_ly(x = ~id) %>%
add_markers( y = ~value, color = ~var) %>%
add_lines(y = ~fitted(loess(value ~ id)), color = ~var)
df这是预期的行为,因为在add_行
调用中您没有按组进行调整
以下是一种方法,首先按组计算拟合,然后绘制曲线
library(tidyverse)
library(plotly)
df %>%
group_by(var) %>%
mutate(fit = fitted(loess(value ~ id))) %>%
plot_ly(x = ~id) %>%
add_markers( y = ~value, color = ~var, alpha = 0.5) %>%
add_lines(y = ~fit, color = ~var)
为什么要为此加载tidyverse
?没有它我也能用。@Frans Rodenburg我每次启动R都会加载tidyverse
,这已经成为我的习惯。在本例中,我使用了%%
,分组依据
和变异
,它们是dplyr
的一部分,dplyr
是tidyverse
的一部分。