r - 从 CrossTable 中选择名称
问题描述
我有 Crosstable,其中有一个计数向量和匹配的因子,如下所示。
我想绘制一个因子 "0-7" "11-13.5" "13.5+" "7-9" ... 的图,但是按照特定的顺序,比如首先是 0-7,然后是 7-9, 11-13.5等...
这怎么能快速完成?
> str(数据2) 4人名单 $ t : int [1, 1:6] 3342 6954 6002 5150 4868 2776 ..- attr(*, "dimnames")=2 个列表 .. ..$ : 空 .. ..$ : 字符 [1:6] "0-7" "11-13.5" "13.5+" "7-9" ...
解决方案
考虑使用包中的Recoding插件questionr
。
您可以使用以下功能重新标记level
:
## Reordering df1$bands
df1$bands <- factor(df1$bands, levels=c("0-7", "7-9", "11-13.5", "13.5+"))
构建标签:
df1 <- df %>% mutate(bands = case_when(value <= 7 ~ "0-7",
value <= 9 ~ "7-9",
value <= 13.5 ~ "11-13.5",
value > 13.5 ~ "13.5+" ))
这是排序的数据:
df1 %>% count(bands)
# A tibble: 4 x 2
bands n
<fct> <int>
1 0-7 7
2 7-9 2
3 11-13.5 5
4 13.5+ 7
样本数据:
df <- tibble::tribble(
~t, ~value,
1, 0.5,
3, 1.5,
5, 2.5,
7, 3.5,
9, 4.5,
11, 5.5,
13, 6.5,
15, 7.5,
17, 8.5,
19, 9.5,
21, 10.5,
23, 11.5,
25, 12.5,
27, 13.5,
29, 14.5,
31, 15.5,
33, 16.5,
35, 17.5,
37, 18.5,
39, 19.5,
41, 20.5
)
推荐阅读
- reactjs - 将 gtm id 动态传递给 head 部分的 gtm 脚本
- flutter - 如何在颤动的弹出小部件下使整个屏幕处于非活动状态(变暗)(类似于 showDialog)?
- ios - iOS 约束在标签的模拟器上被打破
- docker - 将文本文件从 docker 容器复制到主机
- apache-spark - Spark 上下文在等待后端时停止
- matlab - 检测带有误报的过零
- c# - 如何从未选择的组合框c#中显示值
- python - 使用不同的定位器访问单个 Pandas 值
- regex - 正则表达式,如何在惰性运算符后仅匹配一个字符
- python - 在 np.ndarray 中对向量进行排序