【问题标题】:How the Mode Formula in R works...?R 中的模式公式如何工作...?
【发布时间】:2023-02-05 01:21:09
【问题描述】:

我发现此公式可用于 R 查找数据集中任何列的模式,它是否有效...??

names(sort(-table(mtcars$wt)))[1]

它可用于查找 wt 列的模式。

我需要理解这个公式。

【问题讨论】:

    标签: r mode


    【解决方案1】:

    要了解整个表达式的作用,您应该单步执行每个组件。

    • table 列出(计数)$wt 中每个唯一值的出现次数:

      table(mtcars$wt)
      # 1.513 1.615 1.835 1.935  2.14   2.2  2.32 2.465  2.62  2.77  2.78 2.875  3.15  3.17  3.19 3.215 3.435  3.44  3.46 
      #     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     3     1 
      #  3.52  3.57  3.73  3.78  3.84 3.845  4.07  5.25 5.345 5.424 
      #     1     2     1     1     1     1     1     1     1     1 
      

      请注意,$wt 的原始“值”存储为返回向量中的名称。

    • sort(-table(.)) 然后将最频繁的值带到前面(左),将最不频繁的值带到后面(右)。

      sort(-table(mtcars$wt))
      #  3.44  3.57 1.513 1.615 1.835 1.935  2.14   2.2  2.32 2.465  2.62  2.77  2.78 2.875  3.15  3.17  3.19 3.215 3.435 
      #    -3    -2    -1    -1    -1    -1    -1    -1    -1    -1    -1    -1    -1    -1    -1    -1    -1    -1    -1 
      #  3.46  3.52  3.73  3.78  3.84 3.845  4.07  5.25 5.345 5.424 
      #    -1    -1    -1    -1    -1    -1    -1    -1    -1    -1 
      

      对它的负数排序相当于sort(table(.), decreasing=TRUE)

    • names(..) 将从该向量中返回原始的 wt 值,并按其计数的降序排列。添加 [1] 仅返回名称的第一个。

    长话短说:这将返回 mtcars$wt 中出现次数最多的第一个值。仅供参考,如果有多个值具有相同的计数,则此代码不会指示该情况。

    【讨论】:

      猜你喜欢
      • 2020-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-30
      相关资源
      最近更新 更多