我正在使用R,我有一个数据帧,看起来像这样:
面包车 | 路线 | 价格售出的门票 | 收入|||
---|---|---|---|---|---|
U67 | 1233 | 30.00 | 11 | 330.00 | |
U67 | 1233 | 25.00 | 5 | 125.00 | |
U67 | 1233 | 20.00 | 10 | 200.00 | |
U69 | 65111 | 30.00 | 15 | 450.00 | |
U69 | 65111 | 25.00 | 8 | 200.00 | |
U69 | 65111 | 20.00 | 11 | 220.00 |
假设您的第一个数据集称为df1
library(dplyr)
df2 <- df1 %>% group_by(Van, Route) %>%
summarise(Price = paste(Price, collapse=", "),
"Tickets Sold" = sum(`Tickets Sold`),
Revenue = sum(Revenue))
df2
您想要做的一些事情是可能的。在dplyr中,整合Van、Route、Tickets Sold和Revenue列相当简单。不幸的是,按照您想要的方式合并价格栏是不可能的。据我所知,R数据帧不能在其单元格中存储列表或向量。您可以将Price存储为字符串,但这可能会使以后使用它变得更加困难。你需要提供更多关于你想对这个数据帧做什么的信息,以便我能够告诉你。
假设您可以将价格转换为字符串,那么提供的代码Bloxx将起作用。
需要注意的是,dplyr以速度慢而闻名,考虑到数据帧的大小,这可能是一个问题。我知道人们在大型数据集中使用data.table,因为它更快,但我不太熟悉它的使用,所以我什么都说不出来。如果dplyr为你进行转换花费了太长时间,我建议你看看它。