R语言 如何找到两个数据帧之间的差异

R语言 如何找到两个数据帧之间的差异

在这篇文章中,我们将讨论如何在R编程语言中找到两个数据框之间的差异或比较两个数据框或数据集。

方法1: 使用相交函数

R语言中的Intersect函数有助于获得两个数据集的共同元素。

语法

intersect(names(data_short), names(data_long))

例子

first <-
       data.frame(
             "1" = c('0.44','0.554','0.67','0.64'),
             "2" = c('0.124','0.22','0.82','0.994'),
             "3" = c('0.82','1.22','0.73','1.23')
         )
  
second <-
     data.frame(
            "1" = runif(4),
             "2" = runif(4),
             "3" = runif(4),
             "d" = runif(4),
             "e" = runif(4)
         )
  
second[intersect(names(first), names(second))]

输出

1 2 3 

1 0.562627228 0.9391250 0.6437934 

2 0.003867576 0.7131200 0.9313777 

3 0.129852760 0.2657934 0.9291285 

4 0.325867139 0.2367633 0.1211350 

方法2:使用setdiff()

这个函数与intersect不同,有助于查看第一个数据框架中缺少的列。

语法

setdiff( dataframe2, dataframe 1)

例子

first <-
       data.frame(
             "1" = c('0.44','0.554','0.67','0.64'),
             "2" = c('0.124','0.22','0.82','0.994'),
             "3" = c('0.82','1.22','0.73','1.23')
         )
  
second <-
     data.frame(
            "1" = runif(4),
             "2" = runif(4),
             "3" = runif(4),
             "d" = runif(4),
             "e" = runif(4)
         )
  
second[setdiff(names(second), names(first))]

输出

d e 

1 0.7899783 0.04363003 

2 0.9167861 0.39865991 

3 0.3314494 0.13963663 

4 0.7005957 0.73401069 

方法3:使用colnames和dplyr

我们将从dplyr中选择获得数据框架的列,对其进行一些操作以获得两个数据框架之间的预期差异。

例子

library("dplyr")
  
first <-
       data.frame(
             "1" = c('0.44','0.554','0.67','0.64'),
             "2" = c('0.124','0.22','0.82','0.994'),
             "3" = c('0.82','1.22','0.73','1.23')
         )
  
second <-
     data.frame(
            "1" = runif(4),
             "2" = runif(4),
             "3" = runif(4),
             "d" = runif(4),
             "e" = runif(4)
         )
  
second%>%select(which(!(colnames(second) %in% colnames(first))))

输出

d e 

1 0.7899783 0.04363003 

2 0.9167861 0.39865991 

3 0.3314494 0.13963663 

4 0.7005957 0.73401069 

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程