R语言如何使用expss包为不同分类值设置相同变量值标签
解决方法
多个数值对应同一标签时,改用num_lab()函数构造映射规则即可,正确代码如下:
library(expss) # 示例数据构造 a <- round(runif(20,3,9)) # 赋值值标签,同标签的数值用英文逗号分隔 expss::val_lab(a) <- expss::num_lab(" 3,4,5 Bad 6,7 Regular 8,9 Good ")
也可以通过命名向量的方式赋值:
expss::val_lab(a) <- c( "Bad" = 3, "Bad" = 4, "Bad" = 5, "Regular" = 6, "Regular" = 7, "Good" = 8, "Good" = 9 )
效果验证
运行频率统计函数expss::freq(a),可以看到仅输出三类标签的结果:
| 标签 | 计数 | 有效占比 | | ------- | ---- | -------- | | Bad | 8 | 40% | | Regular | 6 | 30% | | Good | 6 | 30% | | 合计 | 20 | 100% |
原问题说明
你之前使用的make_labels()仅支持单值与标签一一映射,逐行解析规则时即使标签文本相同,也会被识别为独立的分类条目,所以出现了重复的标签展示。
内容的提问来源于stack exchange,提问作者Jesús Asdrúbal Molina Vízquez
相关产品推荐
相关产品推荐

