r - 如何根据另一个数据框中存在的列过滤到新的数据框?
问题描述
所以我有两个数据框。
df1
:
Date Bond2 Bond3 Bond5 Bond6 Bond7 Bond8 Bond10 Bond11 Bond12 Bond14 Bond15 Bond16 Bond17
1 41275 NA NA NA NA NA NA NA NA NA NA NA NA NA
2 41276 NA NA NA NA NA NA NA NA NA NA NA NA NA
3 41277 NA NA NA NA NA NA NA NA NA NA NA NA NA
4 41278 NA NA NA NA NA NA NA NA NA NA NA NA NA
5 41279 NA NA NA NA NA NA NA NA NA NA NA NA NA
df1
:
Date Bond2 Bond3 Bond4 Bond5 Bond6 Bond7 Bond8 Bond10 Bond11 Bond12 Bond14 Bond16 Bond17 Bond19
1 41275 NA NA NA NA NA NA NA NA NA NA NA NA NA NA
2 41276 NA NA NA NA NA NA NA NA NA NA NA NA NA NA
3 41277 NA NA NA NA NA NA NA NA NA NA NA NA NA NA
4 41278 NA NA NA NA NA NA NA NA NA NA NA NA NA NA
我想创建一个新df3
的,df1
其中包含所有列df2
,然后创建一个df4
包含df2
所有列的新df1
。
我一直在思考,filter(df1, names() %in% names(df2))
但select(names(df1) %in% names(df2)
两者都不起作用。
谢谢
解决方案
我们可以使用intersect
来自 'df1'、'df2' 的列名,并使用它来对 df1、df2 中的列进行子集化以分别创建 df3、df4
nm1 <- intersect(names(df1), names(df2))
df3 <- df1[nm1]
df4 <- df2[nm1]
推荐阅读
- zig - Slice 在 zig 语言中引用超出范围的数据
- flutter - 如何在颤动中将音频字节转换为字符串
- python - 使用 Python 计算云的预计到达时间 (ETA)?
- c# - 使用 entityframework 到 postgresql 运行 linq 查询期间超时
- c# - 如果测试失败,C#/Selenium 重试
- c# - 反序列化存在于不同位置的 xml 配置文件
- wordpress - 在 wp_nav_walker 菜单 WordPress 中显示菜单标签两次
- .net - 是否可以在 Azure 通信服务中的聊天与同一组中发起呼叫
- visual-studio-code - 脚本在 jupyter notebook 中运行,但不在 vscode 中
- database - 如何在 Postgres 中将所有没有模式的数据从一个数据库复制到另一个数据库?