我正在使用R为一个类编写一份报告,并且我有一个相当大的二进制数据库(1和NA)来表示存在或不存在.

`# A tibble: 149 × 31
    Vide Copé. Ca…¹ Copé.…² Copé.…³ Copé.…⁴ Polyc…⁵ Néréi…⁶ Pecti…⁷ Crang…⁸ Mysid…⁹
   <dbl>      <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>
 1     0          0       0       0       0       0       0       0       0       0
 2     0          0       0       0       0       0       1       0       0       0
 3     0          0       0       0       0       0       1       0       0       0
 4     0          0       0       0       0       0       0       0       0       1
 5     0          0       0       0       0       0       1       0       0       0
 6     0          0       0       0       0       0       0       0       0       0
 7     0          0       0       0       0       0       1       0       0       0
 8     0          0       0       0       0       0       1       0       0       0
 9     0          0       0       0       0       0       0       0       0       0
10     0          0       0       0       0       0       0       0       0       0
# … with 139 more rows, 21 more variables: `Carides sp.` <dbl>, Amphipodes <dbl>,
#   `Pandalidés(crevette nordique)` <dbl>, Cumacés <dbl>, Isopodes <dbl>,
#   `Crustacés sp.` <dbl>, Éperlan...17 <dbl>, Capucette <dbl>,
#   `Épinoche sp.` <dbl>, `Poisson sp.` <dbl>, Gastéropode <dbl>, Bivalve <dbl>,
#   `Poulamon Atlantique` <dbl>, `Éperlan arc-en-ciel` <dbl>, Éperlan...25 <dbl>,
#   HARENG <dbl>, OSMÉRIDÉ <dbl>, Moronidé <dbl>, `Bar rayé` <dbl>, Baret <dbl>,
#   `Alose savoureuse` <dbl>, and abbreviated variable names ¹​`Copé. Cala.`, …
# ℹ Use `print(n = ...)` to see more rows, and `colnames()` to see all variable names`

我需要表示每个类别的出现频率:

           Frequency
Vide           0
Copépodes      2
Néréidés sp.   5
etc.

有没有一种方法可以让我不用从头开始重新创建数据库就能做到这一点?我似乎在网上找不到...这是我第一次在这里发布问题,而且我对R还是个新手,所以我不确定我该如何解决这个问题.

推荐答案

如果我们使用tidyVerse,我们可以使用summarise,(如果需要,还可以使用pivot_longer):

library(dplyr)
library(tidyr)

dat |> 
    summarise(across(everything(), \(x) sum(x, na.rm = TRUE))) |> 
    pivot_longer(everything(), values_to = "Frequency")

使用@r2evans的数据:

# A tibble: 5 × 2
  name  Frequency
  <chr>     <int>
1 a             5
2 b             6
3 c             1
4 d             8
5 e             7

R相关问答推荐

使用scale_x_continuous复制ggplot 2中的离散x轴

检测(并替换)字符串中的数学符号

如何修复R码的置换部分?

如何计算R数据集中每个女性的子元素数量?

如何动态更新selectizeInput?

如何在观测缺失的地方添加零

R spatstat Minkowski Sum()返回多个边界

为什么在BASE R中绘制线条时会看到线上的点?

将箭头绘制在图形外部,而不是图形内部

我们如何在R中透视数据并在之后添加计算

如何使用前缀作为匹配来连接数据帧?

如何将一列中的值拆分到R中各自的列中

在R中,如何将误差条放置在堆叠的每个条上?

SHILINY中DT列的条件着色

基于R中的辅助向量中的值有条件地连接向量中的字符串

数据集上的R循环和存储模型系数

填充图例什么时候会有点?

计算多变量的加权和

R:如何在数据集中使用Apply

排序R矩阵的行和列