r - 在 R 中,如何使用不同的标签设置和保留自定义级别?
问题描述
在 R 中,如何使用不同的标签设置和保留自定义级别?
也就是说,我想在因子的级别中设置自定义数字,并且这些数值 - 要保留的整数,而不是转换为“1、2、3 等”。
我知道一种解决方案是将这些权重设置为标签,但是我会错过因素的“标签”。
不保留因子之间的“加权”距离。是否有可能在 R 中使用单个变量来实现这样的目标?
例如:
age_f <- factor( c(1, 10, 100), levels = c( 1, 10, 100 ), labels = c( "baby", "child", "old" ), ordered = T )
levels(age_f) [1] "baby" "child" "old" labels(age_f) [1] "1" "2" "3" labels(levels(age_f)) [1] "1" "2" "3" as.numeric(age_f) [1] 1 2 3 Desired output: as.numeric(age_f) [1] 1 10 100
如果这在 R 因子中不存在,是否很容易通过自定义函数产生这样的结果?
解决方案
你可以使用这个labelled
包。
library(labelled)
labelled(c(1, 10, 100), c(baby = 1, child = 10 , old = 100))
<Labelled double>
[1] 1 10 100
Labels:
value label
1 baby
10 child
100 old
如果您稍后想将其转换为常规因子,您可以使用to_factor
.
推荐阅读
- flutter - 获取在堆栈颤动中动态添加小部件时点击哪个小部件
- r - 如何按字母顺序对数据框的 x 轴标签进行排序?
- antlr - 如何从语法规则中删除左递归
- java - 单个阅读器中的多个查询
- python - 在循环中使用字典中的变量附加到 API 调用
- django - 找不到 C:\Users\xerxe\Desktop\bioclin\compose\local\django:
- python - 如何根据条件集比较 Python 中的乘法列?
- python - 使用 Python 库 pyodata 访问 Odata 中的数据
- python - 如果从字符串中选择某个单词,如何仅使一段代码处于活动状态?
- docker - 如何在 docker 容器内执行 podman 登录?