R语言——因子

Python014

R语言——因子,第1张

变量课归结为名义型、有序型或连续型变量

名义型变量是美哟顺序之分的类别变量。有序型变量表示一种顺序关系,而非数量关系。连续型变量可以呈现为某个范围内的任意值,并同事表示了顺序和数量。

类别(名义型)变量和有序类别(有序型)变量在R中称为因子(factor)。因子决定了数据的分析方式以及如何进行诗句呈现。

函数(factor)以一个整数向量的形式存储类别值,整数的取值范围是[1...k](其中k是名义型变量中唯一值的个数)同时一个由字符串(原始值)组成的内部向量将映射到这些整数上。

要表示有序型变量,需要为函数factor()指定参数order=TRUE。

对于字符型向量,因子的水平默认依字母顺序创建。但按字母顺粗排序的因子很少能让人满意,可通过指定levels选项来默认覆盖默认排序。

数值型变量可以用levels和lables参数来编码成因子。

首先,以向量形式输入数据,然后将diabetes和status分别制定为普通因子和有序型因子。最后,将数据合并为一个数据框。函数str(object)可提供R中某个对象的信息,它清楚的显示diabetes是一个因子,而status是一个有序型因子,以及此数据框在内部是如何进行编码的。

函数summary()会区别对待各个变量,它显示了连续性变量age的最小值、最大值、均值和各四分位数【四分位数(Quartile)也称四分位点,是指在统计学中把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值。多应用于统计学中的箱线图绘制。它是一组数据排序后处于25%和75%位置上的值。四分位数是通过3个点将全部数据等分为4部分,其中每部分包含25%的数据。很显然,中间的四分位数就是中位数,因此通常所说的四分位数是指处在25%位置上的数值(称为下四分位数)和处在75%位置上的数值(称为上四分位数)。与中位数的计算方法类似,根据未分组数据计算四分位数时,首先对数据进行排序,然后确定四分位数所在的位置,该位置上的数值就是四分位数。与中位数不同的是,四分位数位置的确定方法有几种,每种方法得到的结果会有一定差异,但差异不会很大,该解释来源于百度百科】,并显示了类别型变量diabetes和status的频数值。

R中的因子用于存储不同类别的数据,可以用来对数据进行分组,例如人的性别有男和女两个类别,根据年龄可以将人分为未成年人和成年人,考试成绩可以分为优,良,中,差。

R 语言创建因子使用** factor() **函数,向量作为输入参数。

factor() 函数语法格式:

参数说明:

以下实例把字符型向量转换成因子:

我们可以看到输出sex的时候,除了显示字符串的内容以外,这里还有一行levels,证明sex有两个level(类别),female和male。这个顺序也是有讲究的,一般是按字母顺序来排列。我们也可以按照自己的需要来排列因子的顺序。以下实例设置因子水平为levels=c("male","female"):

你会发现现在levels的顺序就按照你设置的来显示了。

我们还能够设置显示的标签

可以看到虽然最初我们构建的向量里面包含的是male和female,最后因子却变成了man和woman。关于这个参数后面我们还会给大家举个更实际的,跟临床数据相关的例子。

R中的因子使用还是更广泛的,例如做差异表达分析的时候我们可以根据因子将数据分成两组。绘制boxplot的时候,我们也可以根据因子来将数据分成两组。更多的实例可以参考下面的视频讲解

R语言基础培训

【R语言】R中的因子(factor)