我正在根据酒店评论处理数据集。我创建了一个子集(440880行),如下所示:
df2
Hotel_ID Review_date Negative_Rev Positive_Rev Negative Positive
1 2015/08/20 bad staff comfortable room 1 1
1 2015/08/30 No Negative good staff 0 1
2 2015/09/24 no staff No Positive 1 1
2 2016/02/03 No Breakfast near city centre 1 1
2 2016/03/22 No Negative No Positive 0 0
其中Negative
和Positive
是基于Negative_Rev
和Positive_Rev
(x = 0 if No Negative or No Positive
)的变量。
我想按df2
和Hotel_ID
对Review_Date
进行分组,并创建两个名为Daily_Negative
和Daily_Positive
的新列,分别来自cumsum
函数{ {1}}和Negative
。
例如,我试过这个:
Positive
答案 0 :(得分:1)
library(dplyr)
df2 <- df2 %>% group_by(Hotel_ID,Review_date) %>%
summarise(Daily_Negative = sum(Negative),
Daily_Positive = sum(Positive)) %>%
ungroup()
答案 1 :(得分:1)
以下是使用data.table
包的另一个解决方案:
library(data.table)
df2[, .(Daily_Negative=sum(Negative), Daily_Positive=sum(Positive)), by=.(Hotel_ID, Review_date)]