gpt4 book ai didi

r - 基于具有重复行的两列计算唯一值,R 数据框

转载 作者:行者123 更新时间:2023-12-02 05:47:59 25 4
gpt4 key购买 nike

我有一个格式如下的 R 数据框:

column1    column2
NA NA
1 A
1 A
1 A
NA NA
NA NA
2 B
2 B
NA NA
NA NA
3 A
3 A
3 A

df = structure(list(column1 = c(NA, 1L, 1L, 1L, NA, NA, 2L, 2L, NA,
NA, 3L, 3L, 3L), column2 = c(NA, "A", "A", "A", NA, NA, "B",
"B", NA, NA, "A", "A", "A")), .Names = c("column1", "column2"
), row.names = c(NA, -13L), class = "data.frame")

如果一列中的行有一个NA,则另一列有一个NAcolumn1 中的数值描述了一个独特的组,例如第 2-4 行有组 1。列 column2 描述了这个分组的标识。在此数据框中,标识为 ABCD

我的目标是在整个数据框中按组统计身份的数量:有多少个 A 组,多少个 B 组等。

此文件(到目前为止)的正确输出是有 2 个 A 组和 1 个 B 组。

我该如何计算?

目前,我会尝试这样的事情:

length(df[df$column2 == "B"]) ## outputs 2 

但这是不正确的。如果我组合 column1column2,只取唯一值 1A、2B、3A,我想我可以数出 column2 中每个标签的次数发生?

(如果它更容易,我很乐意使用 data.table 来完成这项任务。)

最佳答案

您可以使用 rle 进行运行,使用 table 进行制表:

table(rle(df$column2)$values)

# A B
# 2 1

有关详细信息,请参阅 ?rle?table

或者,如果您想利用 column1(派生自 column2):

table(unique(df)$column2)

关于r - 基于具有重复行的两列计算唯一值,R 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43354917/

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