在数据帧列表中进行变换

问题描述 投票:1回答:1

我有以下数据框列表。

 my_list <- list(
   list(a = data.frame(a1 = c(1,2), b1 = c(3,4), c1 =c(5,6)),
        b = data.frame(b1 = c(1,2))),
   list(a = data.frame(a1 = c(11,21), b1 = c(31,41), c1 =c(51,61)),
        b = data.frame(b1 = c(12,22))))
 names(my_list) = c("one", "two")

我想在每个数据帧中添加一个列(理想情况下使用tidyverse)和列表的顶级名称。当我在数据帧的层次上进行映射时,我已经尝试了各种方法使用map和modify_depth而没有太大成功,因为我不明白如何在更高级别访问列表元素名称。

请参阅下面我希望my_list如何更改:

 my_desired_list <- list(
   list(a = data.frame(a1 = c(1,2), b1 = c(3,4), c1 =c(5,6), col = "one"),
        b = data.frame(b1 = c(1,2), col = "one")),
   list(a = data.frame(a1 = c(11,21), b1 = c(31,41), c1 =c(51,61), col = "two"),
        b = data.frame(b1 = c(12,22), col = "two")))
 names(my_desired_list) = c("one", "two")
r dataframe tidyverse purrr mutate
1个回答
1
投票

这是用qazxsw poi + qazxsw poi做到这一点的一种方法。 qazxsw poi允许您访问list元素的名称作为第二个参数:

imap
© www.soinside.com 2019 - 2024. All rights reserved.