gpt4 book ai didi

r - 检查变量是否在一对一映射中

转载 作者:行者123 更新时间:2023-12-03 18:37:25 26 4
gpt4 key购买 nike

假设我在 R 中有一个数据框,其中有两个变量,我将调用 AB 。我想检查这两个变量是否在一对一映射中)。例如,考虑以下数据框:

DF <- data.frame(A = c(0,2,0,1,2,1,0,1,1,1),
B = c('H','M','H','W','M','W','H','W','W','W'));

DF;
A B
1 0 H
2 2 M
3 0 H
4 1 W
5 2 M
6 1 W
7 0 H
8 1 W
9 1 W
10 1 W
在这个数据框中,我们可以通过检查看到 AB 之间存在一一对应关系(与 0 = H1 = W2 = M )。我想找到一种方法来使用不需要我检查每个元素的适当 R 代码对更大的数据帧执行此操作。代码应该产生一个 简单明了的陈述 指定的变量之间是否存在一一对应的关系;一个简单的 TRUE/ FALSE 输出应该是理想的。

最佳答案

如果我们想检查 'A', 'B' 是否有重复,使用 duplicated 中的 base R

i1 <- duplicated(DF)|duplicated(DF, fromLast = TRUE)

如果我们需要单个 all 并用 TRUE/FALSE 包裹
all(i1)
#[1] TRUE

可以包装成一个函数
f1 <- function(dat) all(duplicated(dat)|duplicated(dat, fromLast = TRUE))
f1(DF)
#[1] TRUE

关于r - 检查变量是否在一对一映射中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52399474/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com