zoukankan      html  css  js  c++  java
  • R语言平均值,中位数和众数

    R语言平均值,中位数和众数

    R中的统计分析通过使用许多内置函数来执行的。这些函数大部分是R基础包的一部分。这些函数将R向量与参数一起作为输入,并在执行计算后给出结果。

    我们在本章中讨论的是如何求平均值,中位数和众数。下面将分别一个个演示和讲解 -

    1.平均值

    平均值是通过取数值的总和并除以数据序列中的值的数量来计算。函数mean()用于在R中计算平均值。

    语法

    R中计算平均值的基本语法是 -
    mean(x, trim = 0, na.rm = FALSE, ...)
    R
    以下是使用的参数的描述 -
        x - 是输入向量。
        trim - 用于从排序的向量的两端删除一些观测值。
        na.rm - 用于从输入向量中删除缺少的值。

    示例

    # Create a vector. 
    x <- c(17,8,6,4.12,11,8,54,-11,18,-7)

    # Find Mean.
    result.mean <- mean(x)
    print(result.mean)
    R

    当我们执行上述代码时,会产生以下结果 -

    [1] 10.812
    Shell

    1.1.应用修剪选项

    当提供trim参数时,向量中的值进行排序,然后从计算平均值中删除所需数量的观察值。

    例如,当trim = 0.3时,每一端的3个值将从计算中删除以找到均值。

    在这种情况下,排序的向量为(-21,-5,2,3,42,7,8,12,18,54),从用于计算平均值的向量中从左边删除:(-21,-5,2)和从右边删除:(12,18,54)这几个值。

    # Create a vector.
    x <- c(12,7,3,4.2,18,2,54,-21,8,-5)

    # Find Mean.
    result.mean <-  mean(x,trim = 0.3)
    print(result.mean)
    R

    当我们执行上述代码时,会产生以下结果 -
    [1] 5.55
    Shell

    1.2.应用NA选项

    如果缺少值,则平均函数返回NA。要从计算中删除缺少的值,请使用na.rm = TRUE。 这意味着删除NA值。参考以下示例代码 -
    # Create a vector. 
    x <- c(12,7,3,4.2,18,2,54,-21,8,-5,NA)

    # Find mean.
    result.mean <-  mean(x)
    print(result.mean)

    # Find mean dropping NA values.
    result.mean <-  mean(x,na.rm = TRUE)
    print(result.mean)
    R

    当我们执行上述代码时,会产生以下结果 -

    [1] NA
    [1] 8.22
    Shell

    2.中位数

    数据系列中的中间值被称为中位数。R中使用median()函数来计算中位数。

    语法

    R中计算位数的基本语法是 -
    median(x, na.rm = FALSE)
    R

    以下是使用的参数的描述 -
        x - 是输入向量。
        na.rm - 用于从输入向量中删除缺少的值。

    示例
    # Create the vector.
    x <- c(12,7,3,4.2,18,2,54,-21,8,-5)

    # Find the median.
    median.result <- median(x)
    print(median.result)
    R

    当我们执行上述代码时,会产生以下结果 -

    [1] 5.6
    Shell

    3.众数

    众数是指给定的一组数据集合中出现次数最多的值。不同于平均值和中位数,众数可以同时具有数字和字符数据。

    R没有标准的内置函数来计算众数。因此,我们将创建一个用户自定义函数来计算R中的数据集的众数。该函数将向量作为输入,并将众数值作为输出。

    示例
    # Create the function.
    getmode <- function(v) {
       uniqv <- unique(v)
       uniqv[which.max(tabulate(match(v, uniqv)))]
    }

    # Create the vector with numbers.
    v <- c(2,1,2,3,1,2,3,4,1,5,5,3,2,3)

    # Calculate the mode using the user function.
    result <- getmode(v)
    print(result)

    # Create the vector with characters.
    charv <- c("baidu.com","tmall.com","yiibai.com","qq.com","yiibai.com")

    # Calculate the mode using the user function.
    result <- getmode(charv)
    print(result)
    R

    当我们执行上述代码时,会产生以下结果 -
    [1] 2
    [1] "yiibai.com"

  • 相关阅读:
    HDU 4278 Faulty Odometer 8进制转10进制
    hdu 4740 The Donkey of Gui Zhou bfs
    hdu 4739 Zhuge Liang's Mines 随机化
    hdu 4738 Caocao's Bridges tarjan
    Codeforces Gym 100187M M. Heaviside Function two pointer
    codeforces Gym 100187L L. Ministry of Truth 水题
    Codeforces Gym 100187K K. Perpetuum Mobile 构造
    codeforces Gym 100187J J. Deck Shuffling dfs
    codeforces Gym 100187H H. Mysterious Photos 水题
    windows服务名称不是单个单词的如何启动?
  • 原文地址:https://www.cnblogs.com/amengduo/p/9586549.html
Copyright © 2011-2022 走看看