如何用R将交易数据转二进制矩阵并导出为桌面CSV文件?
解决交易数据导出为二进制矩阵CSV的问题
别担心,我帮你搞定这个导出问题!你遇到的情况很常见——arules包的write()函数默认是导出购物篮格式,不是你需要的0-1二进制矩阵,所以咱们换个思路,先把transactions对象转换成标准矩阵,再导出就可以了。
具体步骤和代码:
将transactions对象转为二进制矩阵
用as()函数把你的ready交易对象直接转换成0-1矩阵,这一步会自动把每行设为交易、每列设为商品,值为1表示该交易包含对应商品,0表示不包含:binary_matrix <- as(ready, "matrix")导出到桌面的CSV文件
用R基础包的write.csv()函数导出,这里我写了跨Windows和Mac的路径代码,确保文件直接存到桌面:# 获取跨平台的桌面路径 desktop_path <- if (.Platform$OS.type == "windows") { file.path(Sys.getenv("USERPROFILE"), "Desktop") } else { file.path(Sys.getenv("HOME"), "Desktop") } # 导出二进制矩阵到CSV write.csv(binary_matrix, file = file.path(desktop_path, "binary_transactions.csv"), row.names = TRUE)
补充说明:
- 导出后的CSV里,行名就是你的交易ID(TransID),列名是所有商品,完全符合你要的格式。
- 如果不需要行名(交易ID),可以把
row.names参数设为FALSE。
内容的提问来源于stack exchange,提问作者Emrah BILGIC
相关产品推荐
相关产品推荐

