如何制作两个组因子并更改数据框中的值?

时间:2017-01-24 03:21:40

标签: r dataframe

数据框看起来像

x <- rep(c("2010-01-01", "2010-01-02", "2010-01-03", "2010-01-04", "2010-01-05", "2010-01-06","2010-01-07"), 10)
y <- rep(c(1,3), 35)
mydata <- data.frame(x,y)
head(mydata, 3)
           x y
1 2010-01-01 1
2 2010-01-02 3
3 2010-01-03 1

使用as.Date()weekdays(),我得到&#34;星期一&#34;,&#34;星期二&#34; ...在一个名为$weekday

的新变量中
            x y   weekday
1  2010-01-01 1    Friday
2  2010-01-02 3  Saturday
3  2010-01-03 1    Sunday

我想要的是制作两个因素组:
一个是c_weekday <- c("Monday", "Tuesday", "Thursday", "Wednesday", "Friday") 另一个是c_weekend <- c("Saturday", "Sunday")

我想循环mydata$weekday并将值更改为c_weekdayc_weekend
在此之后,我只有两个因素c_weekdayc_weekend来进行进一步的聚合。

2 个答案:

答案 0 :(得分:1)

{{1}}

相当于

{{1}}

答案 1 :(得分:0)

我们可以使用%chin%

中的data.table执行此操作
library(data.table)
setDT(mydata)[weekday %chin% c_weekday, weekday := "c_weekday"
        ][weekday %chin% c_weekend, weekday := "c_weekend"][]