将 arules::inspect 的输出捕获为 data.frame
Capture the output of arules::inspect as data.frame
在 中,OP 对 groupings/clusterings 感兴趣是基于它们一起订购的频率。可以通过 arules::inspect
函数检查此分组。
library(arules)
dataset <- read.transactions("8GbjnHK2.txt", sep = ";", rm.duplicates = TRUE)
f <- eclat(dataset,
parameter = list(
supp = 0.001,
maxlen = 17,
tidLists = TRUE))
inspect(head(sort(f, by = "support"), 10))
数据集可以从https://pastebin.com/8GbjnHK2下载。
但是,无法将输出作为数据框轻松保存到另一个对象。
out <- inspect(f)
那么我们如何捕获 inspect(f)
的输出以用作数据框?
我们可以使用方法 labels
来提取 associations/groupings 和 quality
来提取质量度量(支持度和计数)。然后我们可以使用 cbind
将这些存储到数据框中。
out <- cbind(labels = labels(f), quality(f))
head(out)
# labels support count
# 1 {3031093,3059242} 0.001010 16
# 2 {3031096,3059242} 0.001073 17
# 3 {3060614,3060615} 0.001010 16
# 4 {3022540,3072091} 0.001010 16
# 5 {3061698,3061700} 0.001073 17
# 6 {3031087,3059242} 0.002778 44
将项目集强制转换为 data.frame 也会创建所需的输出。
> head(as(f, "data.frame"))
items support count
1 {3031093,3059242} 0.001010101 16
2 {3031096,3059242} 0.001073232 17
3 {3060614,3060615} 0.001010101 16
4 {3022540,3072091} 0.001010101 16
5 {3061698,3061700} 0.001073232 17
6 {3031087,3059242} 0.002777778 44
在 arules::inspect
函数检查此分组。
library(arules)
dataset <- read.transactions("8GbjnHK2.txt", sep = ";", rm.duplicates = TRUE)
f <- eclat(dataset,
parameter = list(
supp = 0.001,
maxlen = 17,
tidLists = TRUE))
inspect(head(sort(f, by = "support"), 10))
数据集可以从https://pastebin.com/8GbjnHK2下载。
但是,无法将输出作为数据框轻松保存到另一个对象。
out <- inspect(f)
那么我们如何捕获 inspect(f)
的输出以用作数据框?
我们可以使用方法 labels
来提取 associations/groupings 和 quality
来提取质量度量(支持度和计数)。然后我们可以使用 cbind
将这些存储到数据框中。
out <- cbind(labels = labels(f), quality(f))
head(out)
# labels support count
# 1 {3031093,3059242} 0.001010 16
# 2 {3031096,3059242} 0.001073 17
# 3 {3060614,3060615} 0.001010 16
# 4 {3022540,3072091} 0.001010 16
# 5 {3061698,3061700} 0.001073 17
# 6 {3031087,3059242} 0.002778 44
将项目集强制转换为 data.frame 也会创建所需的输出。
> head(as(f, "data.frame"))
items support count
1 {3031093,3059242} 0.001010101 16
2 {3031096,3059242} 0.001073232 17
3 {3060614,3060615} 0.001010101 16
4 {3022540,3072091} 0.001010101 16
5 {3061698,3061700} 0.001073232 17
6 {3031087,3059242} 0.002777778 44