You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何实现表格星期列按周一至周日顺序排序

解决方案

weekdays()函数返回的星期值是字符类型,dplyr分组聚合时默认按字符字典规则排序,无法自动匹配周一到周日的自然时序。只要在生成星期字段时将其转换为指定水平顺序的因子,后续所有操作都会自动遵循正确的星期顺序。

修正后完整代码

若R系统语言为中文,weekdays()返回中文星期名,代码如下:

Daily_intensity %>% 
  mutate(weekdays = factor(
    weekdays(date),
    levels = c("星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日")
  )) %>% 
  group_by(weekdays) %>% 
  summarise(minutes_fairly_very_active = sum(fairlyactiveminutes + veryactiveminutes))

若R系统语言为英文,weekdays()返回英文星期名,将levels参数替换为对应英文顺序即可:
levels = c("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")

注意

不推荐在汇总步骤后用arrange()做硬编码排序,提前将星期字段转为有序因子的方式复用性更强,后续绘图、做交叉分析时不会重复出现顺序错乱问题。


内容的提问来源于stack exchange,提问作者Sahil Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 16:36:43