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

我想将列表列 l 中低于 2 的所有值设置为 NA。如何使用地图在 purrr-world 中做到这一点?

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

引发错误。

更新:

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

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

更新二:替换是我的朋友,并且成功了:

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

1 回答 1

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

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

于 2017-01-08T10:51:17.457 回答