gpt4 book ai didi

r - 计数不同并计算两列中的百分比差异 ifrom R dataframe

转载 作者:行者123 更新时间:2023-12-05 01:26:41 25 4
gpt4 key购买 nike

有一个简单的数据框,列出每几个月的产品类型和标签号:

data.frame(
stringsAsFactors = FALSE,
month = c("jan","jan","jan","jan",
"jan","feb","feb","feb","feb"),
category = c("TB", "GT", "TB", "YT", "GT", "TB", "GT", "TB", "YT"),
tag_number = c(101L, 101L, 223L, 223L, 223L, 345L, 345L, 655L, 223L)
)

month category tag_number

jan TB 101
jan GT 101
jan TB 223
jan YT 223
jan GT 223
feb TB 345
feb GT 345
feb TB 655
feb YT 223

我想按月份和类别比较和提取唯一 tag_number 值之间的百分比差异。

让我再解释一下,因为这似乎是一个复杂的问题。

如果我们得到分组的月份和类别,我们就可以比较这个表(月份+类别)

Jan  TB  101, 223    vs.    Feb  TB  345, 655
Jan GT 101, 223 vs. Feb GT 345
Jan YT 223 vs. Feb YT 223

1 月份,结核病类别有两个唯一的标签编号(101 和 223)。如果您与 February 进行比较,也有两个独特的标签,但它们都不相等,因此月份之间的百分比差异为 100%,并且在这两种情况下不同的计数都是 2。

GT 类别相同。所有标签都不同。所以又是 100%。

不同的情况是 YT。两个月包含相同的标签号,因此差异为 0%

这里是预期的结果。差异百分比是月份之间不同的案例百分比。

让我们以 TB 类别为例。

总共 4 个唯一值,每月 2 个唯一值,没有一个相等:

4/4 = 1(所以 100%)

category   pct_diff
TB 100%
GT 100%
YT 0%

最佳答案

df %>%
group_by(category) %>%
summarise(perc_diff = 100 * mean(table(tag_number) == 1))

# A tibble: 3 x 2
category perc_diff
<chr> <dbl>
1 GT 100
2 TB 100
3 YT 0

关于r - 计数不同并计算两列中的百分比差异 ifrom R dataframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70126028/

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