大佬教程收集整理的这篇文章主要介绍了列根据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,请注明来意。