我想使用arules
包来练习使用R的挖掘关联规则。数据是
datt <- structure(list(Item1 = c(0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L,
0L), Item2 = c(0L, 0L, 0L, 1L, 0L, 1L, 1L, 0L, 0L, 0L), Item3 = c(0L,
1L, 0L, 1L, 0L, 1L, 1L, 1L, 0L, 0L), Item4 = c(0L, 0L, 0L, 1L,
0L, 0L, 0L, 0L, 0L, 0L), Item5 = c(1L, 0L, 0L, 1L, 0L, 0L, 0L,
0L, 0L, 1L), Item6 = c(0L, 1L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 0L
), Item7 = c(0L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L), Item8 = c(0L,
1L, 1L, 1L, 0L, 0L, 1L, 0L, 0L, 0L), Item9 = c(0L, 1L, 1L, 1L,
0L, 0L, 0L, 0L, 1L, 0L), Item10 = c(0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L)), .Names = c("Item1", "Item2", "Item3", "Item4",
"Item5", "Item6", "Item7", "Item8", "Item9", "Item10"), row.names = c(2L,
3L, 4L, 5L, 6L, 8L, 9L, 10L, 11L, 12L), class = c("cast_df",
"data.frame"))
正在做
table5 <- as(datt, "transactions")
此错误出现:
Error in as(datt, "transactions") :
no method or default for coercing “cast_df” to “transactions”
我该怎么做才能将我的对象转换为'transactions'对象?
尝试一下:
as(as.matrix(datt), "transactions")
transactions in sparse format with
10 transactions (rows) and
10 items (columns)
错误在这里很明显:
no method or default for coercing “cast_df” to “transactions”
[class(datt)
为cast_df
,并且没有强制方法(as
)对此类型。
注意,通常在使用arules
包时不需要手动进行强制,该函数将尝试在内部进行正确的强制。例如:
dissimilarity(x=as.matrix(datt),method='cosine') ## works
dissimilarity(x=datt,method='cosine') ## you get the same coercion error
对我来说这有效
install.packages("arules")
我遇到相同的错误,并通过添加库(矩阵)进行了修复
希望帮助
也许您忘记加载arules
程序包。
library(arules)