将星期几从整数转换为R中的字符串

时间:2015-10-21 15:13:29

标签: r

我有一个数据集,其中包含一周中几天的事件数字(1-7,1表示星期一... 7表示星期日)。我已经将它转换为用户可以理解的星期几(星期一,星期二等),只需用该行中的星期一(等)替换每个1的实例。是否有一个图书馆可以更干净地为我做这件事?

2 个答案:

答案 0 :(得分:3)

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]

答案 1 :(得分:0)

{{params}}

从星期五开始索引,因此library(chron) days = sample(1:7, 10, replace = TRUE) weekdays(days + 3, abbreviate = FALSE) 将索引设置为星期一。输出是一个有序因子,非常适合绘图目的。