为什么 R 中的 as(..., "transactions") for arules 似乎丢失了交易?
Why does as(..., "transactions") for arules in R seem to lose transactions?
我有一个 CSV 格式的大型数据集:
see attached image
- 共有 50,000 行,每一行是一个事务。
- 每笔交易最多5件,最少1件。
- 有 5000 个不同的可能项目值。
- 交易中没有重复的项目。
将 CSV 加载到 RStudio 并应用 unclass()
后,我应用 as(...,"transactions")
。
结果是这样的:
# transactions in sparse format with
# 5 transactions (rows) and
# 1455 items (columns)
现在只有 5 笔交易,而不是 50,000 笔交易。
所有交易都去哪儿了?矩阵是否以某种方式转置(因为结果中的行数等于我的 CSV 的列数)?
这可能是数据预处理问题,但根据 this post 我的输入数据应该具有正确的格式。
[我是 post 第一次来这里,对 R/RStudio 还很陌生。]
查看手册页 ? transactions
中的 coercion
方法。您会发现您要么需要一个二元关联矩阵、一个交易列表,要么需要一个仅包含分类变量的 data.frame。您的数据不是其中之一 as(..., "transactions")
将失败。
我认为read.transactions
可以读取你的数据。
library(arules)
# create and write some data
data <- paste(
"item1,item2,,,",
"item1,,,,",
"item2,item3,,,",
sep="\n")
write(data, file = "demo_basket")
# read the data
tr <- read.transactions("demo_basket", format = "basket", sep=",")
inspect(tr)
items
[1] {item1,item2}
[2] {item1}
[3] {item2,item3}
我有一个 CSV 格式的大型数据集:
see attached image
- 共有 50,000 行,每一行是一个事务。
- 每笔交易最多5件,最少1件。
- 有 5000 个不同的可能项目值。
- 交易中没有重复的项目。
将 CSV 加载到 RStudio 并应用 unclass()
后,我应用 as(...,"transactions")
。
结果是这样的:
# transactions in sparse format with
# 5 transactions (rows) and
# 1455 items (columns)
现在只有 5 笔交易,而不是 50,000 笔交易。
所有交易都去哪儿了?矩阵是否以某种方式转置(因为结果中的行数等于我的 CSV 的列数)?
这可能是数据预处理问题,但根据 this post 我的输入数据应该具有正确的格式。
[我是 post 第一次来这里,对 R/RStudio 还很陌生。]
查看手册页 ? transactions
中的 coercion
方法。您会发现您要么需要一个二元关联矩阵、一个交易列表,要么需要一个仅包含分类变量的 data.frame。您的数据不是其中之一 as(..., "transactions")
将失败。
我认为read.transactions
可以读取你的数据。
library(arules)
# create and write some data
data <- paste(
"item1,item2,,,",
"item1,,,,",
"item2,item3,,,",
sep="\n")
write(data, file = "demo_basket")
# read the data
tr <- read.transactions("demo_basket", format = "basket", sep=",")
inspect(tr)
items
[1] {item1,item2}
[2] {item1}
[3] {item2,item3}