我正在尝试学习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)
如何使用map*_
所有第一列都转换为字符的方式格式化L (我不需要知道任何列都可能具有因子的一般情况)并且还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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句