R:使用dplyr或Reforme2包制作数据透视表
我正在尝试使用R:使用dplyr或Reforme2包制作数据透视表,r,dplyr,reshape,reshape2,R,Dplyr,Reshape,Reshape2,我正在尝试使用dplyr或restrape2包在R中创建简单的透视表,因为我的数据集太大,并且R使用sqldf内存不足。我想用数据集中的两列创建透视表,它们分别是的“Product”和的“Cust\u Id”。我想统计每个产品的客户数量。这就是我得到的 library(reshape2) mydata<-read.table("Book1.txt",header=TRUE,fill=TRUE) mydata.m<-melt(mydata,id=c("Product"),measure
dplyr
或restrape2
包在R中创建简单的透视表,因为我的数据集太大,并且R使用sqldf
内存不足。我想用数据集中的两列创建透视表,它们分别是的“Product”
和的“Cust\u Id”
。我想统计每个产品的客户数量。这就是我得到的
library(reshape2)
mydata<-read.table("Book1.txt",header=TRUE,fill=TRUE)
mydata.m<-melt(mydata,id=c("Product"),measured=c(Cust_Id))
mydata.d<-dcast(mydata.m,Product~variable,count)
我也用下面的代码尝试了dplyr
(不确定最后一步是什么,因为我在另一台笔记本电脑上做了)
库(dplyr)
mydata.df试试这个:
library(dplyr)
mydata <- mydata %>%
group_by(Product) %>%
summarise(nCustomers = n())
库(dplyr)
mydata%
组别(产品)%>%
总结(n客户=n()
或者,如果您只想统计唯一客户,您可以执行以下操作:
library(dplyr)
mydata <- mydata %>%
group_by(Product) %>%
summarise(nCustomers = n_distinct(Cust_Id))
库(dplyr)
mydata%
组别(产品)%>%
摘要(客户=不相同(客户Id))
如果这真的是一个大数据集,那么您在data.table
包中的最佳选择
require(data.table)
mydata_data_table = data.table(mydata)
number_customer = mydata_data_table[, .(number_customers = .N), by=Product]
您能否将部分数据dput()并分享一个您正在寻找的结果示例?
library(dplyr)
mydata <- mydata %>%
group_by(Product) %>%
summarise(nCustomers = n_distinct(Cust_Id))
require(data.table)
mydata_data_table = data.table(mydata)
number_customer = mydata_data_table[, .(number_customers = .N), by=Product]