【发布时间】:2015-10-21 15:13:29
【问题描述】:
我有一个数据集,其中包含事件的星期几作为数字(1-7,1 是星期一...7 是星期日)。我已将其转换为用户可以理解的星期几(星期一、星期二等),只需将 1 的每个实例替换为该行中的星期一(等)即可。有没有图书馆可以更干净地为我做这件事?
【问题讨论】:
标签: r
我有一个数据集,其中包含事件的星期几作为数字(1-7,1 是星期一...7 是星期日)。我已将其转换为用户可以理解的星期几(星期一、星期二等),只需将 1 的每个实例替换为该行中的星期一(等)即可。有没有图书馆可以更干净地为我做这件事?
【问题讨论】:
标签: r
set.seed(42)
x <- sample(1:7, 20, TRUE)
#[1] 7 7 3 6 5 4 6 1 5 5 4 6 7 2 4 7 7 1 4 4
y <- factor(x, labels = c("Monday", "Tuesday",
"Wednesday", "Thursday",
"Friday", "Saturday", "Sunday"),
ordered = TRUE)
# [1] Sunday Sunday Wednesday Saturday Friday Thursday Saturday Monday Friday Friday Thursday Saturday Sunday
#[14] Tuesday Thursday Sunday Sunday Monday Thursday Thursday
#Levels: Monday < Tuesday < Wednesday < Thursday < Friday < Saturday < Sunday
如果您不想要有序因子,请省略 ordered = TRUE,如果您需要字符向量,请使用 as.character。如果你需要后者,你也可以这样做:
c("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")[x]
【讨论】:
library(chron)
days = sample(1:7, 10, replace = TRUE)
weekdays(days + 3, abbreviate = FALSE)
从星期五开始索引,因此+3 将索引设置为星期一。输出是一个有序因子,非常适合绘图。
【讨论】:
weekdays 函数不是这样工作的。这与某些包的功能不同吗?
lubridate 掩盖了——我的错。
chron 的库。不知道那是怎么进来的。。谢谢
Error: 'weekdays' is not an exported object from 'namespace:chron'。 :(