R语言 比较数据帧的值 – all_equal() 函数
R语言 中的all_equal()函数,用于比较数据帧之间的值。
语法: all_equal(target, current, check.attribute, check.names)
参数
- target: 要比较的对象
- current: 要与之比较的对象
- check.attribute: 如果两者的属性都被比较的话
- check.names: 如果名称被比较的话
R – 比较数据帧的值
例1:比较相等的数据帧
# R program to illustrate
# all_equal function
# Create three data frames
data1 <- data.frame(x1 = 1:10,
x2 = LETTERS[1:10])
data2 <- data.frame(x1 = 1:10,
x2 = LETTERS[1:10])
data3 <- data.frame(x1 = 2:12,
x2 = LETTERS[1:5])
# Compare equal data frames
all_equal(data1, data2, check.attributes = FALSE)
输出
TRUE
在上面的代码中,我们比较了相等的数据帧data1和data2,因此输出结果似乎是 “TRUE”。
例2:比较不相等的数据帧
# R program to illustrate
# all_equal function
# Create three data frames
data1 <- data.frame(x1 = 1:10,
x2 = LETTERS[1:10])
data2 <- data.frame(x1 = 1:10,
x2 = LETTERS[1:10])
data3 <- data.frame(x1 = 2:12,
x2 = LETTERS[1:5])
# Compare unequal data frames
all_equal(data1, data3, check.names = FALSE)
输出
Rows in x but not y: 1, 2, 3, 4, 5, 6, 8, 9, 10.
Rows in y but not x: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10.
在上面的代码中,我们比较了不相等的数据框data1和data3,所以我们得到了一个错误,解释了代码中的问题。