首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在R中按y值重新排序列?

在R中按y值重新排序列?
EN

Stack Overflow用户
提问于 2017-02-17 03:16:43
回答 2查看 2.9K关注 0票数 0

我有一个结构如下的数据帧:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> head(df)
    Zip Crimes Population    CPC
1 78701   2103       6841 0.3074
2 78719    186       1764 0.1054
3 78702   1668      21334 0.0782
4 78723   2124      28330 0.0750
5 78753   3472      49301 0.0704
6 78741   2973      44935 0.0662

我使用这个函数来绘制它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
p = ggplot(df, aes(x=Zip, y=CPC)) + geom_col() + theme(axis.text.x = element_text(angle = 90))

这是我得到的图表:

如何按CPC排序绘图,其中最高的邮政编码在左侧?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-17 03:39:23

将Zip转换为按负CPC排序的因子。例如,在绘图之前尝试使用df$Zip <- reorder(df$Zip, -df$CPC)。下面是一个小示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
d <- data.frame(
  x = c('a', 'b', 'c'),
  y = c(5, 15, 10)
)

library(ggplot2)

# Without reordering
ggplot(d, aes(x, y)) + geom_col()

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# With reordering
d$x <- reorder(d$x, -d$y)
ggplot(d, aes(x, y)) + geom_col()

票数 1
EN

Stack Overflow用户

发布于 2017-02-17 08:18:58

按降序对数据框进行排序,然后绘制它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(dplyr)
df <- arrange(df,desc(CPC))
ggplot...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42288761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文