Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在单个dataframe中循环两个单独的列列表以在R中创建多个表?_R_Dplyr_Purrr - Fatal编程技术网

如何在单个dataframe中循环两个单独的列列表以在R中创建多个表?

如何在单个dataframe中循环两个单独的列列表以在R中创建多个表?,r,dplyr,purrr,R,Dplyr,Purrr,我正在努力弄清楚如何使用purr::map2在一个dataframe中使用两个不同的列列表创建多个表。目的有两个:1确定列的不同之处 下面是我正在使用的一个玩具示例数据框,实际数据框有近300列,我感兴趣的是比较100对,即200对 df = data.frame(a = c(1, 2, 3), b = c(2,3,8), a1 = c(1, 2, 3), b1 = c(2, 3, 9)) a b a1 b1 …. 1 1 2 1 2 2 2 3 2 3 3

我正在努力弄清楚如何使用purr::map2在一个dataframe中使用两个不同的列列表创建多个表。目的有两个:1确定列的不同之处

下面是我正在使用的一个玩具示例数据框,实际数据框有近300列,我感兴趣的是比较100对,即200对

df = data.frame(a = c(1, 2, 3), b = c(2,3,8), a1 = c(1, 2, 3), b1 = c(2, 3, 9))

   a b   a1 b1   ….
1  1 2    1  2
2  2 3    2  3
3  3 8    3  9

我意识到实现我的任务有多种方法。正如我所说,我最初的想法是使用purr在多个列上迭代,然后创建一个表列表



names1 <- c("a", "b")
names2 <- c("a1", "b2")

df %>% purr::map2(~table(.$names1, .$names2, useNA = "always))
DF1 2 3 > 1 1 0 0 0 > 2 0 1 0 0 > 3 0 0 1 0 > 0 0 0 0 > > [[2]] > > 2 3 9 > 2 1 0 0 0 > 3 0 1 0 0 > 8 0 0 1 0 > 0 0 0 0
<019-0807由V0.3.0

创建。如果您正在使用该数据进行一系列任务,您可能需要考虑使用TiDyr::首先收集。这样,您就可以在不同的数据字段上更轻松地进行选择和筛选。也许会有帮助!

       1 2 3 <NA>            
  1    1 0 0    0
  2    0 1 0    0
  3    0 0 1    0
  <NA> 0 0 0    0


       2 3 9 <NA>
  2    1 0 0    0
  3    0 1 0    0
  8    0 0 1    0
  <NA> 0 0 0    0
Error in as_mapper(.f, ...) : argument ".f" is missing, with no default