gpt4 book ai didi

r - R 中系数的可视化(点图)

转载 作者:行者123 更新时间:2023-12-02 00:49:12 25 4
gpt4 key购买 nike

我想绘制三个不同模型的系数,以用点图显示估计系数的收缩效果。

有关更多上下文:我正在使用分层线性模型,并希望将这些估计值与完全池化和非池化估计值进行比较。

假设我们有这样一个数据框:

    a <- c(1,2,3,4)
b <- c(2.5, 2.5, 2.5, 2.5)
c <- c(1.2,2.3,2.8,3.7)
city <- c("London", "Madrid", "Sidney", "Paris")
df <- as.data.frame(cbind(city,a,b,c))
df <- df[order(df$a),]

我想按降序显示它们,就像这个 picture但没有标准差,只有分数。有没有一种方法可以简单地使用 ggplot 来做到这一点?

最佳答案

从数据框 df 开始,您可以使用 pivot_longer reshape 数据,并通过调用 df$city 保存数据顺序 scale_x_discrete:

library(tidyr)
df2 = df %>% pivot_longer(.,-city, names_to = "Model", values_to = "value")

library(ggplot2)
ggplot(df2, aes(x = city, y = value, color = Model)) + geom_point() + coord_flip() +
scale_x_discrete(limits = df$city)

我重新安排了您的数据框 df 以获得数值(将 cbind 与数据框结合使用往往会将数据转换为因子级别):

a <- c(1,2,3,4)
b <- c(2.5, 2.5, 2.5, 2.5)
c <- c(1.2,2.3,2.8,3.7)
city <- c("London", "Madrid", "Sidney", "Paris")
df <- data.frame(city,a,b,c)
df <- df[order(df$a),]

你会得到下图 enter image description here

关于r - R 中系数的可视化(点图),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59024041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com