r - 如何在 R 中手动对列出的数据框列中的级别进行排序?
问题描述
我有三个数据框,类似于:
Value Time Colour Fruit
1 9.0 1 Orange Apple
2 9.5 2 Orange Apple
3 10.0 1 Red Apple
4 9.0 2 Blue Apple
5 9.5 1 Blue Apple
6 10.0 2 Blue Pear
7 1.0 1 Blue Pear
8 2.0 2 Red Pear
9 3.0 1 Red Pear
10 2.0 2 Orange Pear
11 1.0 1 Blue Mango
12 3.0 2 Blue Mango
13 2.0 2 Red Mango
14 3.0 1 Red Mango
15 2.0 2 Orange Mango
16 1.0 1 Blue Banana
17 3.0 2 Blue Banana
18 2.0 2 Red Banana
19 3.0 1 Red Banana
20 2.0 2 Orange Banana
...列在 my_list 中:
my_list<- list(df1=df1, df2=df2, df3=df3)
为了稍后绘制数据(使用 facet_grid 分组条形图),我想重新调整 Fruit 和 Color 的值,就像我可以使用 fct_relevel 对单个数据帧所做的那样:
Data <- Data %>%
mutate(Colour = fct_relevel(Colour,"Blue", "Red", "Orange")) %>%
mutate(Fruit = fct_relevel(Fruit, "Apple", "Mango", "Banana", "Pear"))
谢谢你的帮助!
解决方案
由于您使用的是 dplyr,因此一种方法是使用map
from purrr
:
library(dplyr)
library(purrr)
mylist <- my_list %>%
map(~ .x %>%
mutate(Colour = fct_relevel(Colour,"Blue", "Red", "Orange")) %>%
mutate(Fruit = fct_relevel(Fruit, "Apple", "Mango", "Banana", "Pear")))
推荐阅读
- xml - odoo xml t 值 = html 标记
- python - 类方法中带有验证装饰器的 TypeError
- button - 初始化或渲染后Paypal智能按钮样式修改
- javascript - 如何 post props redux React
- google-cloud-platform - 将 GCP 中的磁盘映射到 Windows 中的操作系统磁盘
- vue.js - 我如何从子组件 vuejs 运行方法
- r - 在 R 中创建 GIF 时出现帧顺序问题(库:“magick”和“purrr”)
- angular - 当两级嵌套 cva 无效时,父表单无效
- vue.js - 如何使用事件@row-click 从 Quasar 表行中获取数据
- python - 如何从 SELECT SQL 查询中删除 NULL 值