首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >需要将字符串的整个数据帧转换为关联规则分析的因子。

需要将字符串的整个数据帧转换为关联规则分析的因子。
EN

Stack Overflow用户
提问于 2022-05-20 01:05:53
回答 1查看 72关注 0票数 0

我有一个字符串和缺失值的数据框架,我需要转换成R中的字符因素,为市场篮子分析做准备。行是没有事务ID的事务。我担心,如果我将单个列转换为因子,那么在我将数据帧更改为事务类之后,两个不同列中的相同项将不会被识别为相同的项。这是给一堂课的。我遇到了一位指导员,他在R 4.1中向我展示了这句话:

代码语言:javascript
运行
复制
newDF <- factor(oldDF)

...but在R4.2中,这与以下消息失败:“xtfrm.data.frame(x)中的警告:无法xtfrm数据帧”

这个错误对我来说是有意义的,因为当我读取factor()函数时,它会将结果按字母顺序排列。出于这个原因,我猜我不想将dataframe转换成一个大的向量,然后在它上运行factor()。

也许“a-规则”包中的trans()函数会自动处理不同列中同一项的因素。

我只想将一列中的一项计算为另一列中的同一项,但我不知道按列分配因素如何支持这一点,但不能保证所有项都在所有列中表示。

EN

回答 1

Stack Overflow用户

发布于 2022-05-20 01:36:57

如果将级别提供给factor(),则生成的因子将包含所有提供的值,即使列中没有它们。但是要小心--如果你没有把一个值作为一个级别,或者你拼写错了,它会在没有警告的情况下被替换为NA,所以要确保包含所有可能的值。

您可以一次使用across()将其应用于所有变量。现在,newDF中的每一列都将是一个具有相同级别的因素,即“A项”、“B项”、“项目C”。如果列中有任何“项目D”,它们将被NA替换。

代码语言:javascript
运行
复制
library(dplyr)

newDF <- oldDF %>% 
  mutate(across(everything(), ~factor(.x, levels = c("item A", "item B", "item C"))))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72312548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档