使用 map 和 purrr 在列表列中分配 NA
assign NA within listcolumn using map and purrr
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 世界中执行此操作?
map(k$l,~.x[.x<2]<-NA)
抛出错误。
更新:
k %>% mutate(o=map(l, ~(.x[.x<2]<-NA)))
给我额外的列,但在列表列的每个元素中没有两个数字和一个 NA
更新二:
Replace 是我的朋友,可以解决问题:
k %>% mutate(o=map(l, ~replace(.x,.x<2,NA)))
k %>% mutate(o=map(l, ~replace(.x,.x<2,NA)))
如最终编辑中所述 - 上述命令解决了我的问题。在上面评论的建议后发布。
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 世界中执行此操作?
map(k$l,~.x[.x<2]<-NA)
抛出错误。
更新:
k %>% mutate(o=map(l, ~(.x[.x<2]<-NA)))
给我额外的列,但在列表列的每个元素中没有两个数字和一个 NA
更新二: Replace 是我的朋友,可以解决问题:
k %>% mutate(o=map(l, ~replace(.x,.x<2,NA)))
k %>% mutate(o=map(l, ~replace(.x,.x<2,NA)))
如最终编辑中所述 - 上述命令解决了我的问题。在上面评论的建议后发布。