r - 编码标称变量和排序变量有什么区别?

标签 r variables machine-learning encoding

我不应该以不同的方式处理名义分类变量和序数变量吗?在我看来,从文本值到数字的简单更改可能表明名义变量之间存在某种关系。

在 R 中进行数据预处理时如何做到这一点?

最佳答案

R 的分类(名义)变量和序数变量的数据类型略有不同。

具体来说,分类数据通常编码为 factors 。序数变量是分类变量的特例,因此也是因子,但是有序因子。

就 R 代码而言,区别只是在 factor 函数调用中设置一个参数:

paygrades = c('intern', 'junior', 'senior', 'manager')

employees = data.frame(
    Name = c('Alice', 'Bob', 'Cecil', 'Dan', 'Emily', 'Felix'),
    Role = factor(c('engineer', 'accounting', 'marketing', 'CEO', 'testing', 'engineer')),
    Paygrade = factor(c('senior', 'junior', 'intern', 'manager', 'senior', 'junior'), levels = paygrades, ordered = TRUE),
    stringsAsFactors = FALSE
)

如果我们现在检查数据,我们会发现:

employees$Role
# [1] engineer   accounting marketing  CEO        testing    engineer
# Levels: accounting CEO engineer marketing testing
employees$Paygrade
# [1] senior  junior  intern  manager senior  junior
# Levels: intern < junior < senior < manager

关于r - 编码标称变量和排序变量有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59407209/

相关文章:

R:如何删除包含特定字符模式的字符串?

java - 变量未初始化

python - 该函数的完美 numpy 实现

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

machine-learning - keras 在优化过程中卡住了

machine-learning - 卷积神经网络中的 "linear projection"是什么

r - 使用 data.table 对 r 中的序列求和

r - 从文件名中提取字符串并使用 mutate 创建新列

python - 如何将 rdat/rdata xts 文件转换为 python pandas 原生时间序列文件?

function - Postgresql 将选择查询分配给函数中的变量