📜  在 R 编程中比较两个对象的相等性——相同()函数(1)

📅  最后修改于: 2023-12-03 15:07:48.251000             🧑  作者: Mango

在 R 编程中比较两个对象的相等性——相同()函数

在 R 编程中,相等性比较是一个很重要的概念。相同()函数可以在两个对象之间进行比较。它返回一个逻辑向量,告诉我们这两个对象是否相等。该函数使用全等运算符("===")判断两个对象是否相等。

基础用法

相同()函数的基础用法十分简单,只需要传入需要比较的两个对象即可。返回值为 TRUE 或 FALSE。

# 测试数值相等性
a <- 1
b <- 2
c <- 1
identical(a, b) # FALSE
identical(a, c) # TRUE

# 测试字符相等性
x <- "Hello"
y <- "World"
z <- "Hello"
identical(x, y) # FALSE
identical(x, z) # TRUE

# 测试向量相等性
u <- c(1, 2, 3)
v <- c(1, 4, 5)
w <- c(1, 2, 3)
identical(u, v) # FALSE
identical(u, w) # TRUE
注意事项

在使用相同()函数时,有几个需要注意的细节:

  • 相同()函数仅比较传入的两个对象是否相同,不会比较其中的元素。
  • NaN(Not a Number)被视为不等于任何值。
  • 相同()函数不会将因子变量的级别作为元素进行比较,而只比较它们是否是相同的因子。
  • 对于数据框或数组等嵌套的结构,只有所有元素都相同且它们的维度也相同时,才会被认为是相同的。
# 测试 NaN 的比较
a <- NaN
b <- NaN
identical(a, b) # FALSE

# 测试因子比较
x <- factor("yes")
y <- factor("no")
z <- factor("yes")
identical(x, y) # FALSE
identical(x, z) # TRUE

# 测试数据框或数组比较
df1 <- data.frame(x = 1:5, y = 6:10)
df2 <- data.frame(x = c(1,3,2,4,5), y = 6:10)
identical(df1, df2) # FALSE

arr1 <- array(c(1:6), dim = c(2, 3))
arr2 <- array(c(1:6), dim = c(3, 2))
identical(arr1, arr2) # FALSE
总结

相同()函数在 R 编程中非常有用,能够帮助程序员判断两个对象是否相同。在使用时需要注意细节,特别是 NaN、因子以及嵌套结构的比较。