在 R/Excel 中将多行数据转换为单行
Converting multiple row data to single row in R/Excel
我正在处理购物篮分析的交易数据,其中提到 table 格式:
Id Product
1 Prod A
1 Prod B
1 Prod C
1 Prod D
2 Prod A
2 Prod B
我想转换数据的布局,使先验算法可以工作,将数据作为单笔交易数据。因此,出于目的,我想将数据转换为以下格式:
Id Column1 Column2 Column3 Column3
1 Prod A Prod B Prod C Prod D
2 Prod A Prod B
谁能帮我用 R 或 Excel 转换这些数据?
此数据是否适用于 运行 R 中的先验算法(希望它会起作用)?
在 R
中使用 reshape2
包的 dcast
:
df <- data.frame(Id=c(1,1,1,1,2,2), Product=c("Prod A", "Prod B", "Prod C", "Prod D", "Prod A", "Prod B"))
library(reshape2)
dcast(df, Id~Product, value.var="Product")
# Id Prod A Prod B Prod C Prod D
# 1 1 Prod A Prod B Prod C Prod D
# 2 2 Prod A Prod B <NA> <NA>
ID <- c(1,1,1,1,2,2)
Product <- c("Prod A","Prod B","Prod C","Prod D","Prod A","Prod B")
df <- data.frame (ID, Product)
您可以使用
为第 2 步创建假人
> xtabs(~ID +Product, df)
ID Prod A Prod B Prod C Prod D
1 1 1 1 1
2 1 1 0 0
第二步,您可以使用包 arules
我正在处理购物篮分析的交易数据,其中提到 table 格式:
Id Product
1 Prod A
1 Prod B
1 Prod C
1 Prod D
2 Prod A
2 Prod B
我想转换数据的布局,使先验算法可以工作,将数据作为单笔交易数据。因此,出于目的,我想将数据转换为以下格式:
Id Column1 Column2 Column3 Column3
1 Prod A Prod B Prod C Prod D
2 Prod A Prod B
谁能帮我用 R 或 Excel 转换这些数据?
此数据是否适用于 运行 R 中的先验算法(希望它会起作用)?
在 R
中使用 reshape2
包的 dcast
:
df <- data.frame(Id=c(1,1,1,1,2,2), Product=c("Prod A", "Prod B", "Prod C", "Prod D", "Prod A", "Prod B"))
library(reshape2)
dcast(df, Id~Product, value.var="Product")
# Id Prod A Prod B Prod C Prod D
# 1 1 Prod A Prod B Prod C Prod D
# 2 2 Prod A Prod B <NA> <NA>
ID <- c(1,1,1,1,2,2)
Product <- c("Prod A","Prod B","Prod C","Prod D","Prod A","Prod B")
df <- data.frame (ID, Product)
您可以使用
为第 2 步创建假人> xtabs(~ID +Product, df)
ID Prod A Prod B Prod C Prod D
1 1 1 1 1
2 1 1 0 0
第二步,您可以使用包 arules