如何将唯一 ID 分配给数据框列表并在一次调用中应用其他功能
How to assign unique id to a list of dataframes AND apply other functions in one call
我有代码将 unique.id 分配给 my.list 和 left_joins 中的每个数据帧 new.df。
new.list = list(data.frame(x = c(1, 2), y = c("a", "b")), data.frame(x = c(1, 2), y = c("b", "b")))
new.df = data.frame(x = c(1, 2), y = c("a", "b"), z = c(1, 2))
new.list = Map(cbind, my.list, unique.id = (1:length(my.list)))
new.list = lapply(new.list, function(x) left_join(x, new.df))
你怎么能用一个电话写这个最好只使用 tidyverse?
您可以使用 imap
-
library(dplyr)
library(purrr)
imap(new.list, ~.x %>%
mutate(unique.id = .y) %>%
left_join(new.df))
#[[1]]
# x y unique.id z
#1 1 a 1 1
#2 2 b 1 2
#[[2]]
# x y unique.id z
#1 1 b 2 NA
#2 2 b 2 2
我有代码将 unique.id 分配给 my.list 和 left_joins 中的每个数据帧 new.df。
new.list = list(data.frame(x = c(1, 2), y = c("a", "b")), data.frame(x = c(1, 2), y = c("b", "b")))
new.df = data.frame(x = c(1, 2), y = c("a", "b"), z = c(1, 2))
new.list = Map(cbind, my.list, unique.id = (1:length(my.list)))
new.list = lapply(new.list, function(x) left_join(x, new.df))
你怎么能用一个电话写这个最好只使用 tidyverse?
您可以使用 imap
-
library(dplyr)
library(purrr)
imap(new.list, ~.x %>%
mutate(unique.id = .y) %>%
left_join(new.df))
#[[1]]
# x y unique.id z
#1 1 a 1 1
#2 2 b 1 2
#[[2]]
# x y unique.id z
#1 1 b 2 NA
#2 2 b 2 2