使用map和purrr在listcolumn中指定NA

时间:2017-01-07 07:00:42

标签: r dplyr purrr tidyverse

library(tidyverse)    
k<-data_frame(u=c("A","B"),l=c(list(c(1,5,4)),list(c(7,5,1))))

我想将listcolumn l中所有低于2的值设置为NA。如何使用地图在purrr-world中执行此操作?

map(k$l,~.x[.x<2]<-NA)

抛出错误。

更新

k %>% mutate(o=map(l, ~(.x[.x<2]<-NA)))

给了我额外的列,但没有列表列的每个元素中的两个数字和一个NA

更新II: 替换是我的朋友并且做到了诀窍:

k %>% mutate(o=map(l, ~replace(.x,.x<2,NA)))

1 个答案:

答案 0 :(得分:1)

k %>% mutate(o=map(l, ~replace(.x,.x<2,NA)))

如最终编辑中所述 - 上述命令解决了我的问题。在上述评论的建议之后发布。