R语言 因素

R语言 因素

R编程语言中的因子 是一种数据结构,用于对数据进行分类或表示分类数据并将其存储在多个层次上。

它们可以被存储为整数,每个独特的整数都有一个相应的标签。尽管因子看起来类似于字符向量,但它们是整数,在将它们作为字符串使用时必须注意。因子只接受有限数量的独特值。例如,像性别这样的数据字段可能只包含女性、男性或跨性别的值。

在上面的例子中,所有可能的情况都是事先知道的,并且是预定义的。这些不同的值被称为级别。在一个因子被创建后,它只由默认按字母顺序排序的层次组成。

R语言 因子的属性

  • x: 它是需要转换为因子的向量。
  • Levels: 它是一组不同的值,是给输入向量x的。
  • Labels: 它是一个对应于标签数量的字符向量。
  • Exclude: 这将提到你想排除的所有值。
  • Ordered: 这个逻辑属性决定层次是否有序。
  • nmax: 它将决定最大层次数的上限。

R - 因素

在R编程语言中创建一个因子

用于在R语言中创建或修改一个因子的命令是 - factor() ,输入一个向量。
创建一个因子的两个步骤是。

  • 创建一个向量
  • 使用函数factor()将创建的向量转换为一个因子

例子。让我们创建一个有女性、男性和变性人级别的因子gender。

# Creating a vector
x < -c("female", "male", "male", "female")
print(x)
 
# Converting the vector x into a factor
# named gender
gender < -factor(x)
print(gender)

输出

[1] "female" "male"   "male"   "female"
[1] female male   male   female
Levels: female male

级别也可以由程序员预先定义。

# Creating a factor with levels defined by programmer
gender <- factor(c("female", "male", "male", "female"),
          levels = c("female", "transgender", "male"));
gender

输出

[1] female male   male   female
Levels: female transgender male

此外,人们可以通过使用函数 level() 来检查一个因子的水平 。

R语言 检查一个因子

函数 is.factor() 用于检查变量是否是一个因子,如果是一个因子则返回 “TRUE”。

gender <- factor(c("female", "male", "male", "female"));
print(is.factor(gender))

输出

[1] TRUE

函数 class() 也被用来检查变量是否为因子,如果为真则返回 “因子”。

gender <- factor(c("female", "male", "male", "female"));
class(gender)

输出

[1] "factor" 

R语言 访问一个因子的元素

就像我们访问向量的元素一样,我们访问因子的元素的方式也是如此。如果性别是一个因子,那么gender[i]将意味着访问因子中的第 i个 元素。

例子

gender <- factor(c("female", "male", "male", "female"));
gender[3]

输出

[1] male
Levels: female male

一次可以访问一个以上的元素。

例子

gender <- factor(c("female", "male", "male", "female"));
gender[c(2, 4)]

输出

[1] male   female
Levels: female male

例子

gender <- factor(c("female", "male", "male", "female"  ));
gender[-3]

输出

[1] female male   female
Levels: female male

R语言 修改一个因子

一个因子形成后,它的组成部分可以被修改,但需要分配的新值必须是在预定的水平上。

例子

gender <- factor(c("female", "male", "male", "female"  ));
gender[2]<-"female"
gender

输出

[1] female female male   female
Levels: female male

对于选择因子gender中除第i个元素以外的所有元素,应该使用gender[-i]。因此,如果你想修改一个因子,并在预先定义的级别之外增加值,那么首先要修改级别。

例子

gender <- factor(c("female", "male", "male", "female"  ));
 
# add new level
levels(gender) <- c(levels(gender), "other")   
gender[3] <- "other"
gender

输出

[1] female male   other  female
Levels: female male other 

数据框中的因素

数据框架类似于一个二维数组,列中包含一个变量的所有值,行中有每一列的一组值。关于数据框架,有四件事需要记住。

  • 列名是强制性的,不能是空的。
  • 应该为每一行指定唯一的名称。
  • 数据框的数据只能是三种类型–因子、数字和字符类型。
  • 每一列中必须有相同数量的数据项。

在R语言中,当我们创建一个数据框时,它的列是分类数据,因此会自动创建一个因子。
我们可以创建一个数据框,并检查它的列是否是一个因子。

例子

age <- c(40, 49, 48, 40, 67, 52, 53) 
salary <- c(103200, 106200, 150200,
            10606, 10390, 14070, 10220)
gender <- c("male", "male", "transgender",
            "female", "male", "female", "transgender")
employee<- data.frame(age, salary, gender) 
print(employee) 
print(is.factor(employee$gender))

输出

  age salary      gender
1  40 103200        male
2  49 106200        male
3  48 150200 transgender
4  40  10606      female
5  67  10390        male
6  52  14070      female
7  53  10220 transgender
[1] TRUE

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程