首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中交错两个data.frames of data.frames

在R中交错两个data.frames of data.frames
EN

Stack Overflow用户
提问于 2020-11-25 21:50:50
回答 1查看 68关注 0票数 1

我在R中有两个数据列表,我希望这两个集合中的每个数据都相互交织,这样第一个列表中的第一个数据就与第二个列表的第一个数据交织在一起。

他们都有相同的列名。它们看起来是这样的:

代码语言:javascript
复制
  ind_1 ind_2 ind_3 ind_4 ind_5 ind_6 ind_7 ind_8 ind_9 ind_10 ind_11 ind_12 ind_13 ind_14 ind_15 ind_16
1     0     0     0     0     0     0     0     0     1      1      0      0      1      0      1      0
2     0     0     0     0     0     0     0     0     1      1      0      0      1      1      0      0
3     0     0     0     0     0     0     0     0     1      1      0      0      0      1      1      0
4    32    30    35    26    31    35    15    28    26     16     23     32     21      0     25     35
5    32    30    35    26    31     0    15    28    26     16     23     32     21     27     25     35
6    32    30    35    26    31    35    15    28    26     16     23     32     21     27     25     35
7    32    30    35    26    31    35    15    28    26     16     23     32     21     27     25     35
8    32    30    35    26    31    35    15    28    26     16     23     32     21     27     25     35
9    32    30    35    26    31    35    15    28    26     16     23     32     21     27     25     35

所有的文件都是相当相似的,所以如果测试这个文件,您可以一遍又一遍地使用这个文件。目标是:

代码语言:javascript
复制
  ind_1 ind_2 ind_3 ind_4 ind_5 ind_6 ind_7 ind_8 ind_9 ind_10 ind_11 ind_12 ind_13 ind_14 ind_15 ind_16
1     0     0     0     0     0     0     0     0     1      1      0      0      1      0      1      0
1     0     0     0     0     0     0     0     0     1      1      0      0      1      0      1      0
2     0     0     0     0     0     0     0     0     1      1      0      0      1      1      0      0
2     0     0     0     0     0     0     0     0     1      1      0      0      1      1      0      0
3     0     0     0     0     0     0     0     0     1      1      0      0      0      1      1      0
3     0     0     0     0     0     0     0     0     1      1      0      0      0      1      1      0
4    32    30    35    26    31    35    15    28    26     16     23     32     21      0     25     35
4    32    30    35    26    31    35    15    28    26     16     23     32     21      0     25     35
5    32    30    35    26    31     0    15    28    26     16     23     32     21     27     25     35
5    32    30    35    26    31     0    15    28    26     16     23     32     21     27     25     35

我将R索引行数留在那里,因为它在这个可视化中保持了列的直线,但无关紧要(最左边的1,1,2,2等等)。

它只适用于一个data.frame,但不适用于数据帧列表。这就是我尝试过的:

代码语言:javascript
复制
interleaved <- lapply(new_list, function(y) 
{y<-interleave(y,second_list)})

其中一个数据帧列表被命名为new_list,另一个second_list。我也尝试过:

代码语言:javascript
复制
interleaved <- lapply(new_list, second_list, function(x,y) 
{y<-interleave(x,y)})

如果有人知道如何解决这个问题,我们将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-25 21:51:46

我们需要使用Map对两个list的对应元素进行interleave处理。

代码语言:javascript
复制
library(gdata)
out_lst <- Map(interleave, new_list, second_list)

或者另一种选择是来自map2purrr

代码语言:javascript
复制
library(purrr)
out_lst <- map2(new_list, second_list, interleave)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65013190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档