R语言中判断向量是否相同的常用函数包括:#
-
identical() - 严格比较,检查两个对象是否完全相同,包括类型、长度和值
-
all.equal() - 近似比较,允许数值有微小的差异,更适合浮点数比较
-
== 运算符配合 all() - 元素级比较,检查每个对应元素是否相等
-
setequal() - 检查两个向量是否包含相同的元素,不考虑顺序
-
%in% 配合 all() - 检查一个向量的所有元素是否都在另一个向量中
all(vec1 %in% vec2) && all(vec2 %in% vec1)
Match()函数#
original_data$Sample # 假设是: c("A", "C", "B")
wang_all_subtypes$Sample # 假设是: c("B", "A", "C")
# match() 会返回: c(2, 3, 1)
# 因为:
# - "A" 在 wang_all_subtypes$Sample 中位置是 2
# - "C" 在 wang_all_subtypes$Sample 中位置是 3
# - "B" 在 wang_all_subtypes$Sample 中位置是 1
# 所以 wang_all_subtypes[c(2, 3, 1),] 会重排为:
# 行2 (对应 "A")
# 行3 (对应 "C")
# 行1 (对应 "B")
# 结果是 wang_all_subtypes$Sample 变成了: c("A", "C", "B")
# 这与 original_data$Sample 的顺序一致