我对数据框操作有疑问。 我有一个如下所示的数据框:
year | month | deviceCategoy | sessions
2017 | 4 | desktop | 140000
2017 | 4 | mobile | 200000
2017 | 4 | tablet | 80000
... ... ... ...
总而言之,数据框包含2017年和2018年全年的数据。 现在我想要一个新的数据帧,我只有桌面和移动设备类别。平板电脑的会话应添加到桌面。
结果应如下所示:
year | month | deviceCategoy | sessions
2017 | 4 | desktop | 220000
2017 | 4 | mobile | 200000
有人知道怎么做吗?
答案 0 :(得分:2)
我们可以改变平板电脑"字符串到"桌面"然后执行aggregate
i1 <- df1$deviceCategoy == "tablet"
df1$deviceCategoy[i1] <- "desktop"
aggregate(sessions ~ ., df1, sum)
# year month deviceCategoy sessions
#1 2017 4 desktop 220000
#2 2017 4 mobile 200000
或使用tidyverse
library(dplyr)
df1 %>%
mutate(deviceCategoy = replace(deviceCategoy, deviceCategoy == "tablet", "desktop")) %>%
group_by_at(names(.)[1:3]) %>%
summarise(sessions = sum(sessions))