同时分析数据集的多列

问题描述 投票:0回答:1

我使用一个真正的大型数据集,很难单独查看所有列。 此时我只想统计所提供信息的频率。 假设我有一个如下所示的数据框:

|ID |Symptome1|Symptome2|Symptome3 |Symptome4|
|123|Rash     |Vomiting |Cough     |Pain|
|345|Urticaria|Rash     |Angioedema|Pain|

现在我想分别计算所有 Symptome1、所有 Samyptome2、所有 Symptome3 等。

在一个小数据集中我可能会使用

dataset%>%count(Symptome1)

当然,我可以分别对所有列执行此操作,但我想我需要类似循环之类的东西?

r count large-data
1个回答
0
投票

我认为首先将数据以长格式保存会更容易做到这一点:

dat |>
    tidyr::pivot_longer(-ID, names_to = "Symptome") |>
    summarise(
        n = n(),
        .by = c(Symptome, value)
    )  |> arrange(Symptome)
# # A tibble: 7 × 3
#   Symptome  value          n
#   <chr>     <chr>      <int>
# 1 Symptome1 Rash           1
# 2 Symptome1 Urticaria      1
# 3 Symptome2 Vomiting       1
# 4 Symptome2 Rash           1
# 5 Symptome3 Cough          1
# 6 Symptome3 Angioedema     1
# 7 Symptome4 Pain           2
© www.soinside.com 2019 - 2024. All rights reserved.