【发布时间】:2020-05-25 08:06:13
【问题描述】:
有没有办法首先将构面标签从1:3 更改为c(good, bad, ugly)。另外,我想为每个方面添加R2 值。下面是我的代码 - 我尝试了一些东西但没有成功。
DF = data.frame(SUB = rep(1:3, each = 100), Ob = runif(300, 50,100), S1 = runif(300, 75,95), S2 = runif(300, 40,90),
S3 = runif(300, 35,80),S4 = runif(300, 55,100))
FakeData = gather(DF, key = "Variable", value = "Value", -c(SUB,Ob))
ggplot(FakeData, aes(x = Ob, y = Value))+
geom_point()+ geom_smooth(method="lm") + facet_grid(Variable ~ SUB, scales = "free_y")+
theme_bw()
这是我使用上述代码得到的图。 我尝试了下面的代码来更改 facet_label 但它没有用
ggplot(FakeData, SUB = factor(SUB, levels = c("Good", "Bad","Ugly")), aes(x = Ob, y = Value))+
geom_point()+ geom_smooth(method="lm") + facet_grid(Variable ~ SUB, scales = "free_y")+
theme_bw()
我不知道如何将R2 添加到facets。有没有什么高效的计算方式和R2到facets?
【问题讨论】:
-
要将 SUB 级别更改为“好”、“坏”和“丑”,您可以使用
fct_recode()或case_when(),例如:DF %>% mutate(SUB = fct_recode(as.character(SUB), good = "1", bad = "2", ugly = "3"))"或DF %>% mutate(SUB = case_when(SUB == 1 ~ "good", SUB == 2 ~ "bad", SUB == 3 ~ "ugly")) -
要获得 R2,您可能需要在您想要 R2 的数据子集上迭代线性模型。最直接和最轻松的方法是使用嵌套数据框(请参阅:r4ds.had.co.nz/many-models.html)。尝试阅读链接并为自己找到一种方法 - 学习如何正确地迭代我的工作流程对我来说是一项非常宝贵的技能。如果您遇到困难,请在此处发表评论或创建新帖子。
标签: r ggplot2 linear-regression scatter-plot facet-grid