R 中的因素:分类变量和连续变量

R 中的因子是什么?

R 中的因子 是用于对数据进行分类和存储的变量,具有有限数量的不同值。它将数据存储为整数值的向量。R 中的因子也称为分类变量,它将字符串和整数数据值存储为级别。因子主要用于 R 的统计建模和探索性数据分析。

在数据集中,我们可以区分两种类型的变量: 明确的连续.

  • 在 R 中对分类变量进行描述统计时,其值是有限的,通常基于特定的有限组。例如,R 中的分类变量可以是国家、年份、性别、职业。
  • 然而,连续变量可以取任意值,从整数到小数。例如,我们可以取收入、股票价格等。

分类变量

分类变量 R 被存储到一个因子中。让我们检查下面的代码,在 R 中将字符变量转换为因子变量。机器学习算法不支持字符,唯一的方法是将字符串转换为整数。

句法

factor(x = character(), levels, labels = levels, ordered = is.ordered(x))

参数:

  • x:R 中的分类数据向量。需要是字符串或整数,而不是小数。
  • 楼层:x 可能取值的向量。此参数是可选的。默认值是向量 x 的唯一项列表。
  • 标签:在 R 中为 x 类别数据添加标签。例如,1 可以取标签“男性”,而 0 可以取标签“女性”。
  • 有序:确定 R 中的分类数据中级别是否应按顺序排列。

示例:

让我们创建一个因子数据框。

# Create gender vector
gender_vector <- c("Male", "Female", "Female", "Male", "Male")
class(gender_vector)
# Convert gender_vector to a factor
factor_gender_vector <-factor(gender_vector)
class(factor_gender_vector)

输出:

## [1] "character"
## [1] "factor"

重要的是要转变 绳子 当我们执行机器学习任务时,将其转化为 R 中的因子变量。

R 中的分类变量可以分为 名义分类变量序数分类变量.

名义分类变量

分类变量有多个值,但顺序无关紧要。例如,男性或女性。R 中的分类变量没有顺序。

# Create a color vector
color_vector <- c('blue', 'red', 'green', 'white', 'black', 'yellow')
# Convert the vector to factor
factor_color <- factor(color_vector)
factor_color

输出:

## [1] blue   red    green  white  black  yellow
## Levels: black blue green red white yellow

从factor_color来看,我们无法分辨任何顺序。

序数分类变量

有序分类变量确实具有自然顺序。我们可以指定顺序,从最低到最高(order = TRUE),从最高到最低(order = FALSE)。

示例:

我们可以使用 summary 来计算 R 中每个因子变量的值。

# Create Ordinal categorical vector 
day_vector <- c('evening', 'morning', 'afternoon', 'midday', 'midnight', 'evening')
# Convert `day_vector` to a factor with ordered level
factor_day <- factor(day_vector, order = TRUE, levels =c('morning', 'midday', 'afternoon', 'evening', 'midnight'))
# Print the new variable
factor_day

输出:

## [1] evening   morning   afternoon midday    
midnight  evening

示例:

## Levels: morning < midday < afternoon < evening < midnight
# Append the line to above code
# Count the number of occurence of each level
summary(factor_day)

输出:

##   morning    midday afternoon   evening  midnight
##         1         1         1         2         1

R 按照级别括号中指定的级别从“早上”到“午夜”进行排序。

连续变量

连续类变量是 R 中的默认值。它们存储为数字或整数。我们可以从下面的数据集中看到它。mtcars 是一个内置数据集。它收集有关不同类型汽车的信息。我们可以使用 mtcars 导入它并检查变量 mpg(每加仑英里)的类别。它返回一个数值,表示连续变量。

dataset <- mtcars
class(dataset$mpg)

输出

## [1] "numeric"