Excel如何提取多列的平均数和最小值

R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。在学习R数据科学之前,我们首先要对R语言的基础语法有一个良好的了解,方便我们理解以后的数据科学算法。本次语法精讲分三次讲完,每次负责讲解其中一部分!本次的R语言语法精讲(一)主要介绍了 R语言的数据结构,R语言的运算以及R语言的编程结构。学完本文后,您将可以具备初步的R语言编程技巧,并能编写大部分程序以及算法。

  • R常用数据结构(本文)
  • R的运算以及常用函数(本文)
  • R语言编程结构(本文)

R拥有许多用于存储数据的对象类型,包括标量、向量、矩阵、数组、数据框和列表。它们在存储数据的类型、创建方式、结构复杂度,以及用于定位和访问其中个别元素的标记等方面均有所不同。

我们可以把vector想象:vector是一串糖葫芦,把山楂都串在一起。vector包含的是一串数据,要求这一串的数据类型是一样的。在R中,常见的数据类型有3种:

我们可以使用 c() 创造一个vector, c是英文单词cancatenate的缩写,意思是连结,连锁。所以c()可以把括号里的数字或者其他的数据类型的元素串成一个vector. 例如:(<-代表R语言中的赋值符号,绝大多数也可以用=代替;相当于python的“=”)

这里,a是数值型向量,b是字符型向量,而c是逻辑型向量。 注意,单个向量中的数据必须拥有相同的类型或模式(数值型、字符型或逻辑型) 。同一向量中无法混杂不同模式的数据。

vector索引指的是R会给vector的每个元素一个位置坐标。R的位置坐标从1开始,从左到右依次给予vector的每个元素。例如:

此外,我们还可以很方便的输出vector除去某些位置的对应元素后的vector, 例如:

我们还可以用names()函数给vector的每一个元素赋予一个名字,例如:

矩阵是一个二维数组,只是每个元素都拥有相同的模式(数值型、字符型或逻辑型)。可通过函数matrix()创建矩阵。一般使用格式为:

其中vector包含了矩阵的元素,nrow和ncol用以指定行和列的维数,dimnames包含了可选的、以字符型向量表示的行名和列名。选项byrow则表明矩阵应当按行填充(byrow=TRUE)还是按列填充(byrow=FALSE) ,默认情况下按列填充。代码清单2-1中的代码演示了matrix函数的用法。

我们首先创建了一个5×4的矩阵, 接着创建了一个2×2的含列名标签的矩阵, 并按行进行填 充,最后创建了一个2×2的矩阵并按列进行了填充。

(3) 删除矩阵的某些行,列

(4) 添加一行或一列:cbind或者rbind合并两个矩阵

数组(array)与矩阵类似,但是维度可以大于2。数组可通过array函数创建,形式如下:

其中vector包含了数组中的数据, dimensions是一个数值型向量, 给出了各个维度下标的最大值,而dimnames是可选的、各维度名称标签的列表。

如你所见,数组是矩阵的一个自然推广。它们在编写新的统计方法时可能很有用。像矩阵一样,数组中的数据也只能拥有一种模式。

从数组中选取元素的方式与矩阵相同。

data frame可以看成是一个excel表格。dataframe是数据分析中非常常用的一种储存数据的方式。dataframe也是一个2维的表格,和matrix一样不一样的地方是data frame的每一列的数据类型可以不一样,但是要求每一列内部数据类型是一样的。数据框可通过函数data.frame()创建:

其中的列向量col1、col2、col3等可为任何类型(如字符型、数值型或逻辑型) 。每一列的名称可由函数names指定。

每一列数据的模式必须唯一,不过你却可以将多个模式的不同列放到一起组成数据框。由于数据框与分析人员通常设想的数据集的形态较为接近,我们在讨论数据框时将交替使用术语 变量

如果想指定index,那么:

如你所见,变量可归结为名义型、有序型或连续型变量。名义型变量是没有顺序之分的类别变量。糖尿病类型Diabetes(Type1、Type2)是名义型变量的一例。即使在数据中Type1编码为1而Type2编码为2,这也并不意味着二者是有序的。有序型变量表示一种顺序关系,而非数量关系。病情Status(poor、improved、excellent)是顺序型变量的一个上佳示例。我们明白,病情为poor(较差)病人的状态不如improved(病情好转)的病人,但并不知道相差多少。连续型变量可以呈现为某个范围内的任意值,并同时表示了顺序和数量。年龄Age就是一个连续型变量,它能够表示像14.5或22.8这样的值以及其间的其他任意值。很清楚,15岁的人比14岁的人年长一岁。

类别(名义型)变量和有序类别(有序型)变量在R中称为因子(factor) 。因子在R中非常重要,因为它决定了数据的分析方式以及如何进行视觉呈现。

函数factor()以一个整数向量的形式存储类别值,整数的取值范围是[1...k](其中k是名义型变量中唯一值的个数),同时一个由字符串(原始值)组成的内部向量将映射到这些整数上。要表示有序型变量,需要为函数factor()指定参数ordered=TRUE。通过指定levels选项来覆盖默认排序。

(1) 因子类型的使用

列表(list)是R的数据类型中最为复杂的一种。一般来说,列表就是一些对象(或成分,component)的有序集合。列表允许你整合若干(可能无关的)对象到单个对象名下。例如,某个列表中可能是若干向量、矩阵、数据框,甚至其他列表的组合。

可以使用函数list()创建列表:

其中的对象可以是目前为止讲到的任何结构。

你还可以为列表中的对象命名:

本例创建了一个列表,其中有四个成分:一个字符串、一个数值型向量、一个矩阵及一个字符型向量。可以组合任意多的对象,并将它们保存为一个列表。

可以通过在双重方括号中指明代表某个成分的数字或名称来访问列表中的元素。

2.R的运算以及常用函数

2.1 R的四则运算法则

R数字的四则运算+,-,*,/和算数中的四则运算时一致的:

(1) 向量的四则运算法则:

(2) 矩阵的四则运算法则:

(3) 矩阵与矩阵的乘法:

矩阵相乘的函数是%*%,同样的,我们要求第1个矩阵的列数(column)和第2个矩阵的行数(row)相同

矩阵乘法中,需要注意,当矩阵和向量相乘时,把向量当成一个列数为1的矩阵即可。

在探索数据的阶段,常常会先探索数据分布的一些统计量,如求和,均值,标准差,方差,中值,分位数等。对vector,R有函数可以直接得到这些统计量,sum()(求和), mean()(均值), sd()(标准差), var()(方差), median()(中值), quantile()(分位数)。

R的基本函数库里没有函数可以直接计算,方差,标准差等其他信息,我们可以用apply()函数。apply(X,MARGIN,FUN)的参数主要有3个,X通常是一个matrix, MARGIN通常的取值有两个,1或者2,1表示按照行计算,2表示按照列计算,FUN指的是一个函数。

函数rnorm()可以产生服从正态分布的随机数

有时候我们需要重复我们的计算或者实验,这时我们需要用到set.seed()函数固定一个产生随机数的种子。下面的形式可以保证我们每次运行产生一样的随机数

函数cor()可以计算两个vector的相关关系

函数summary()可以得到matrix或者data frame的每一列的基本信息,包括最大值,最小值,中间值,25%和75%分位数,均值。

(1) 在R中,if-else语句的形式通常如下:

需要根据不同条件执行不同代码时,使用函数if(), 在括号里写入判断的语句,在上面的例子中,我们根据a == 4是TRUE, 还是FALSE执行不同的语句。

(2) if()也可以单独使用,例如:

# 我们如果要计算1到10的平均值
 

在R中,函数可以通过如下形式定义:

# 自定义函数求一个向量中所有偶数的和
 

赋值号(=或者<-)左边是自定义函数的函数名

赋值号右边是定义函数的函数function()

函数function()括号内是我们要传到自定义函数的参数

最后使用函数return()返回结果

本次的R语言语法精讲(一)主要介绍了 R语言的数据结构,R语言的运算以及R语言的编程结构。学完本文后,您将可以具备初步的R语言编程技巧,并能编写大部分程序以及算法。

从输入的身份证号码内让系统自动提取性别,可以输入以下公式:

名学生的成绩进行排名;

Excel小技巧-快速计算最大值、最小值、平均值,不须另外插入函数

惯用Excel的人都知道,如果要进行加总只要单击功能列中的「Σ」图标即可,但有些人可能不知道点开图标旁的倒三角形,还有其他功能可以运用,而且非常实用,像是平均值、最大值、最小值的计算,分别以「AVERAGE」、「MAX」、「MIN」三种函数表示,如果要计算的范围比较简单,点一下就会自动判读并算出结果,相对的如果是比较复杂、系统不好判定的范围,再用插入函数,手动输入数值来计算。

如何快速计算最大值、最小值、平均值?

先选好要放置计算结果的储存格,看到上方「Σ自动加总」旁的倒三角形,点开来往下找到「平均值」。

程序会快速判定并带入你要计算的范围,像示例就是「B3:E3」,按Enter就完成计算。

往下拉复制算式,每个班级的总平均就都出来了。

如果不需要显示那么详细,可点「减少小数位数」,改变表格内容的呈现方式。

点了两下来减少小数点后的两位数,只留下一个位数做参考,看起来也整齐多了。

再来看最高分及最低分,步骤相同,点「最大值」最后自动判定要计算的范围,并以函数「=MAX(范围)」显示。

Enter后完成,再来算最小值。

一样会帮你带入计算范围,按Enter。

下拉套用公式就能帮你过滤出最高分与最低分的数值。

如果自动读取的范围不是你要的结果,那么就真的需要用「插入函数」的方式,让你可自由选择范围,例如阿汤想将2年5、6、7三个班级,在数学、自然、社会三个科目,加起来计算平均分数。

插入函数并选择「AVERAGE」。

在「Number1」的地方用鼠标提取要计算的储存格,如示例的「C7:E9」,点确定。

这样就完成了,再看要不要取消一些小数点位数来精简数字吧,毕竟除不尽的状况还蛮常见的。

以上就是关于EXCEL如何不另外插入函数,直接快速计算出最大值,最小值,平均值的图文教程。

我要回帖

更多关于 多列数据取同一行最小值 的文章