gpt4 book ai didi

r - 如何检查 R 中表格的精确匹配?

转载 作者:行者123 更新时间:2023-12-05 09:26:30 27 4
gpt4 key购买 nike

数据

我为我的示例创建了这个假数据集:

#### Library ####
library(tidyverse)

#### Create Five Random Binomial Distributions ####
x1 <- round(rbinom(n=1000,
size=1,
prob=.5))
x2 <- round(rbinom(n=1000,
size=1,
prob=.5))
x3 <- round(rbinom(n=1000,
size=1,
prob=.5))
x4 <- round(rbinom(n=1000,
size=1,
prob=.5))
x5 <- round(rbinom(n=1000,
size=1,
prob=.5))

#### Merge Into Tibble ####
df <- data.frame(x1,x2,x3,x4,x5)
tib <- as_tibble(df)
tib

问题

收集数据并在之后将它们制表是相当简单的,并且很容易计算所有变量:

tib %>% 
gather() %>%
table()

但是,在数据集中有 100 个变量的情况下,这可能难以阅读。此外,我正在查看表格中是否存在完全匹配项。例如,如果 X1 和 X2 的 n=0 和 n=1 的计数完全相同:

   0  1
x1 40 1000
x2 40 1000

...我想要一种方法来标记这些精确匹配的计数,而无需滚动数英里的表格。有办法实现吗?

最佳答案

您可以按 0 和 1 的计数对交叉表进行分组,并标记多行的分组。

cross_tab <- tib %>% 
pivot_longer(everything()) %>%
pivot_wider(names_from = value, values_from = value, values_fn = length) %>%
group_by(`0`, `1`) %>%
mutate(flag = +(n() > 1)) %>%
ungroup()

# # A tibble: 5 × 4
# name `0` `1` flag
# <chr> <int> <int> <int>
# 1 x1 489 511 1
# 2 x2 490 510 0
# 3 x3 491 509 0
# 4 x4 495 505 0
# 5 x5 489 511 1
cross_tab %>%
filter(flag == 1)

# # A tibble: 2 × 4
# name `0` `1` flag
# <chr> <int> <int> <int>
# 1 x1 489 511 1
# 2 x5 489 511 1

关于r - 如何检查 R 中表格的精确匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73892604/

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