我有一个 R 数据框,其中一列是一个因子,其级别具有隐式排序。如何将因子水平转换为特定整数通过以下方式:
- “强烈不同意”--> 1
- “有点不同意” --> 2
- “中立”--> 3
- “有点同意” --> 4
- “强烈同意”--> 5
例如,这是我的数据框:
agree <- c("Strongly agree", "Somewhat disagree", "Somewhat agree",
"Neutral", "Strongly agree", "Strongly disagree", "Neutral")
age <- c(41, 35, 29, 42, 31, 22, 58)
df <- data.frame(age, agree)
df
# age agree
# 1 41 Strongly agree
# 2 35 Somewhat disagree
# 3 29 Somewhat agree
# 4 42 Neutral
# 5 31 Strongly agree
# 6 22 Strongly disagree
# 7 58 Neutral
str(df)
# 'data.frame': 7 obs. of 2 variables:
# $ age : num 41 35 29 42 31 22 58
# $ agree: Factor w/ 5 levels "Neutral","Somewhat agree",..: 4 3 2 1 4 5 1
现在,我想将agree
使用上面显示的映射将列设置为整数列。
我已经搜索了有关将因子转换为整数的其他问题,但它们与维护因子排序无关。
"如何将因子转换为整数\数字而不丢失信息? https://stackoverflow.com/questions/3418128/how-to-convert-a-factor-to-an-integer-numeric-without-a-loss-of-information"
"将因子转换为整数 https://stackoverflow.com/questions/4798343/convert-factor-to-integer"
"将数据框中的因子转换为整数 https://stackoverflow.com/questions/9480408/convert-factor-to-integer-in-a-data-frame"