我有一个数据框,它看起来像这样:
str(df)
'data.frame': 174671 obs. of 3 variables:
$ COD_PRODUCT: Factor w/ 338 levels "001CH","002CO",..: 1 1 1 1 1 1 1 1 1 1 ...
$ STORE : Factor w/ 15 levels "Barcelona","Florencia",..: 4 13 4 5 11 12 5 13 1 12 ...
$ SELL_ID : Factor w/ 74327 levels "BA0000000","BA0000001",..: 28696 65976 27147 14291 51141 59023 12249 61636 5495 59314 ...
这些因素中既没有NAs也没有无效值,我们可以在这里看到:
print(unlist(lapply(df, function(x) any(is.na(x)))))
COD_PRODUCT STORE SELL_ID
FALSE FALSE FALSE
我的目标是创建一个数据挖掘模型(关联规则),为此,我之前成功导入了包 arules 。我遵循的下一步是将我的df拆分成一个列表并应用一个操作来消除重复的事件,例如:
ppvt <- split(x = df[, c("COD_PRODUCT", "STORE")], f = df$SELL_ID)
ppvt <- lapply (ppvt, unique)
到目前为止,一切正常。但是,当我试图转换成交易时:
ppvt <- as (ppvt, "transactions" )
我收到错误消息:
Error in asMethod(object) : can coerce list with atomic components only
完全无能为力(是的,正如你可以想象的那样,我来到这里之前在互联网上搜索了很多)。你对如何解决它有所了解吗?
任何帮助都将非常感激。
此致
答案 0 :(得分:0)
您可以在以下课程之前检查课程(ppvt)
:ppvt <-as(ppvt,“交易”)。
它应该为您返回一个data.frame:
ppvt <-as(ppvt,“ transactions”)
上班。
我正在与dplyr一起工作,面临类似的问题。使用as.data.frame()将小标题转换为data.frame可解决此问题。