r - 格式化数据框列表的列表
问题描述
我正在努力学习purr
,所以我寻找与之相关的解决方案。假设我有一个包含 3 个元素的列表,其元素本身就是数据框列表:
a1 <- data.frame(a = c('alfa', 'beta', 'omega'), b = rnorm(3,0,1), c = NA)
a2 <- data.frame(a = c('lambda', 'delta', 'epsilon'), b = rnorm(3,0, 1), c = NA)
b1 <- data.frame(a = c('lambda', 'delta', 'alfa'), b = rnorm(3, 1, 1), c = 1)
b2 <- data.frame(a = c('beta', 'delta', 'epsilon'), b = rnorm(3, 1, 2), c = c(0, 1, NA))
a <- list(a1, a2)
b <- list(b1, b2)
L <- list(a,b)
如何格式化 L 以map*_
使所有第一列都转换为字符(我不需要知道任何列都可能包含因子的一般情况)并且还NA
删除了 s ?
由于嵌套不止一层,我不知道如何在不取消嵌套的情况下调用函数。
解决方案
一个dplyr
选项purrr
可能是:
map_depth(.x = L, 2, ~ .x %>%
mutate_at(1, as.character) %>%
na.omit())
[[1]]
[[1]][[1]]
[1] a b c
<0 rows> (or 0-length row.names)
[[1]][[2]]
[1] a b c
<0 rows> (or 0-length row.names)
[[2]]
[[2]][[1]]
a b c
1 lambda 0.6691767 1
2 delta 1.5106571 1
3 alfa 1.8121246 1
[[2]][[2]]
a b c
1 beta -0.4429880 0
2 delta -0.7539317 1
推荐阅读
- linux-kernel - bpf_csum_diff 函数调用有什么问题?
- c++ - 使用prvalue创建shared_pointer
- javascript - 资源解释为样式表,但使用 MIME 类型 text/x-scss 传输
- javascript - map() 函数在类组件中不起作用
- javascript - 估计 ios 应用程序无法识别的 BLE 信标
- node.js - 如何公开访问包含 SSL 重定向的 AWS EC2 实例?
- css - 未检测到溢出时如何让反应应用滚动?
- java - 另一个“构建路径指定执行环境 JavaSE-13”。问题
- python - 如何为导入的库启用 PyCharm 自动完成功能 (Discord.py)
- php - 从 db 获得的打印图标 - laravel