R语言如何根据factor向量中的首个数值对因子水平level排序
R因子水平按首个数值重排序实现方法
你已经完成了每个水平对应首个数值的提取,后续只需基于提取的数值对水平排序即可,以下是两种可直接运行的实现方案:
方案1:直接修改现有因子的水平
# 得到首个数值从小到大排序对应的水平索引 sorted_idx <- order(fistNum) # 按索引重排因子水平 levels(FC) <- levels(FC)[sorted_idx]
方案2:基于排序后的水平重建因子
FC <- factor(FC, levels = levels(FC)[order(fistNum)])
运行结果验证
执行后查看FC即可得到预期的水平顺序:
FC # [1] R: 12.22 P: 170.0 R: 12.98 P: 189.1 R: 2.55 P: 286 R: 12.22 P: 170.0 R: 12.98 P: 189.1 R: 2.55 P: 286 # Levels: R: 2.55 P: 286 R: 12.22 P: 170.0 R: 12.98 P: 189.1
内容的提问来源于stack exchange,提问作者Wang
相关产品推荐
相关产品推荐

