r - 所有列上的 fct_lump 和 fct_count 是因子
问题描述
我是 R 的新手,有点坚持寻找一种更优雅的方式来回答我的在线课程中的问题。
我有一个包含 69 列的数据集,其中一些是因子。1. 我想显示因子水平出现次数少于 30 的所有变量 2. 我想集中所有因素,以便保留 100 个最常见的因素,其他因素集中在一起
我想我可能有针对单个列的解决方案,但我的问题是我无法将它作为一个函数组合在一起。我想我可以使用 map 函数,但这给了我一个列表作为输出。我想把它作为一个数据集。
到目前为止我做了什么:
1.
> rawdata10<-rawdata9 %>% map(~ countFactors(.)) lapply(rawdata10, FUN = '[', 2)
有了它,我可以访问列表的第二列,但是我在选择所有较小的变量时遇到了问题
rawdata10[which(sapply(rawdata10, '[[', 2) < 100)]
它说 > (list) Objekt kann nicht nach 'double' umgewandelt werden
- 我用 map() 函数尝试了第二个。但是这里有一个列表,而不是我以前喜欢的数据集,我不知道如何使用它。是否有可能将其转换回数据集,或者甚至不列出它?
块因子 <- 函数(列){
if(is.factor(col)){
fct_lump(col,n=100)
}else{
NULL
}
}
rawdata10<-rawdata9 %>% map(~ lumpFactors(.))
非常感谢你的帮助!
解决方案
推荐阅读
- android - 是否可以从 Android 上的 TOF(飞行时间)传感器读取数据?
- tfs - 有没有办法从构建我的工件的源文件或文件夹名称中抓取变量信息?
- c - 如何以编程方式将 S/MIME 证书应用于 Outlook(Windows、C/C++)
- apache2 - 如何在 apache2 中部署 antd-admin 仪表盘?
- excel - 根据条件在给定文件夹/子文件夹中查找 xlsm 工作簿的宏,然后检查每个工作簿中的值
- c# - 试图从连接到网络上另一台 PC 的打印机上打印条形码。可以打印测试页
- node.js - VSCode调试launch.json skipFiles排除文件夹
- vue.js - 使用 axios 获取 ERR_CERT_AUTHORITY_INVALID
- python - 如何使用return语句修复函数不返回所有行
- vb.net - 将 dataGridview 中的多行插入 Microsoft Access 中的单行