r - 从 r 中的 2 个数据帧中删除不常见的列

标签 r

这是我第一次发帖,我是 R 新手,所以请帮助我:)

问题

我有 2 个数据框。两个数据框中都存在一些列,但有些列仅存在于 1 个数据框中。我希望识别并保留两个数据框中存在的列,并删除任何 1 个数据框中存在的列。我怎样才能做到这一点?

> df1 <- data.frame(a=c(1,2,3,4,5),b=c(2,4,6,8,10),c=c(3,6,9,12,15),x=c(4,8,12,16,20),y=c(5,10,15,20,25))
> df2 <- data.frame(b=c(1,5,10),c=c(2,6,11),y=c(3,7,12),z=c(4,8,13))
> view(df1)
  a   b   c   x   y
  1   2   3   4   5
  2   4   6   8  10
  3   6   9  12  15
  4   8  12  16  20
  5  10  15  20  25
> view(df2)
  b   c   y   z
  1   2   3   4
  5   6   7   8
 10  11  12  13

所需输出:

> view(df1)
  b   c   y
  2   3   5
  4   6  10
  6   9  15
  8  12  20
 10  15  25
> view(df2)
  b   c   y
  1   2   3
  5   6   7
 10  11  12

最佳答案

我们可以使用 intersect 来获取两个数据集中常见的列名称。使用此索引对数据集进行子集化。

nm1 <- intersect(names(df1), names(df2))
df1[nm1]
df2[nm2]

关于r - 从 r 中的 2 个数据帧中删除不常见的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33079967/

相关文章:

r - 如何删除 R 中某些定界符位置前后的字符串?

r - 什么可以阻止 h2o 响应我们的 R 脚本?

r - 如何读取具有完整工作日和月份名称的日期时间字符串?

R: - 为什么 head() 对于具有 NA 的列返回格式错误的输出?

javascript - 在 x = 0 时执行 Math.pow(10,x) 时使用 javascript 更改 R Shiny 错误中的 noUIslider 标签

r - Sparklyr - 如何更改 Parquet 数据类型

r - 我怎样才能找到一组数据的分布,然后进一步传播这个分布?

javascript - 发布更改 Shiny slider 以使用自定义 javascript 表示分类/字符串功能

r - R 中用于计算过程表单数据的分层对数秩检验?

r - 为什么我的因子水平会通过 dplyr::mutate() 变成数字?