程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了列根据id变量绑定几个列表元素大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决列根据id变量绑定几个列表元素?

开发过程中遇到列根据id变量绑定几个列表元素的问题如何解决?下面主要结合日常开发的经验,给出你关于列根据id变量绑定几个列表元素的解决方法建议,希望对你解决列根据id变量绑定几个列表元素有所启发或帮助;

假设有以下列表:

a <- data.frame(ID = 1:3,x  = 1:3)
b <- data.frame(ID = 3:1,y  = 4:6)
my_List <- List(a,b)

my_List
# [[1]]
#   ID x
# 1  1 1
# 2  2 2
# 3  3 3

# [[2]]
#   ID y
# 1  3 4
# 2  2 5
# 3  1 6

我现在想将列表元素列绑定到数据框/tibble 中,同时根据 ID 变量匹配相应的行,即结果应该是:

# A tibble: 3 x 3
     ID     x     y
  <int> <int> <int>
1     1     1     6
2     2     2     5
3     3     3     4

我知道如何通过一些旋转来做到这一点,但我想知道是否有更聪明的方法来做到这一点,我希望有一些绑定函数可以简单地指定一个 ID 列?

目前的方法:

library(tIDyversE)
my_List %>%
  bind_rows() %>%
  pivot_longer(cols = -ID) %>%
  filter(!is.na(value)) %>%
  pivot_wIDer()

解决方法

reduce(my_list,full_join,by='id')
  id x y
1  1 1 6
2  2 2 5
3  3 3 4

如果它只有 2 个数据帧:

invoke(full_join,my_list,by='id')
  id x y
1  1 1 6
2  2 2 5
3  3 3 4

如果您使用的是基础 R,则以下任何一项都应该有效:

Reduce(merge,my_list)
do.call(merge,my_list)

大佬总结

以上是大佬教程为你收集整理的列根据id变量绑定几个列表元素全部内容,希望文章能够帮你解决列根据id变量绑定几个列表元素所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。