Stata箱线图:将Watering_event子变量顺序调整为Before、After、Post
解决Stata箱线图中分类变量顺序问题
方法一:直接在绘图命令中指定顺序
你当前使用的sort(watering_event)会按照变量值的字母顺序排列,导致顺序不符合预期。可以直接在over()选项中用order()参数指定你想要的顺序:
graph box photosynthesis, over(watering_event, order(Before After Post)) title("Watered Plants-Main Experiment") xsize(10) ysize(10)
这个方法无需修改数据集,仅针对当前绘图生效。
方法二:将变量设置为有序分类变量(永久生效)
如果你希望后续所有涉及该变量的图表都使用这个顺序,可以将watering_event转换为有序分类变量:
- 先定义一个包含目标顺序的标签:
label define water_order 1 "Before" 2 "After" 3 "Post"
根据变量类型执行对应操作:
- 如果
watering_event是字符串变量,转换为带标签的数值变量:encode watering_event, generate(watering_order) label(water_order) - 如果
watering_event已是数值变量,直接为其分配标签:label values watering_event water_order
- 如果
绘图时使用处理后的变量(无需额外排序参数):
graph box photosynthesis, over(watering_order) title("Watered Plants-Main Experiment") xsize(10) ysize(10)
内容的提问来源于stack exchange,提问作者Pomwene
相关产品推荐
相关产品推荐

