我有一個資料集,其中有一列名為教育。教育欄有幾個名稱。我想用數字替換這些名稱。完成此操作后,我將查看資料集中的新列,它給了我 NA。
這是我的嘗試:
library(plyr) #Load plyr package
edu.num <- revalue(x = bank_train$education,replace =
c("illiterate" = 0,
"basic.4y" = 4,
"basic.6y" = 6,
"basic.9y" = 9,
"high.school" = 12,
"professional.course" = 12,
"university.degree" = 16,
"unknown" = NA))
bank_train$education_numeric <- as.numeric(levels(edu.num))[edu.num]

uj5u.com熱心網友回復:
revalue函式不回傳因子物件,而是一個字符向量。所以levels(edu.num)回傳“NULL”,因為levels函式適應因子。
所以你應該只修改代碼的最后一行
library(plyr)#Load plyr package
edu.num <- revalue(x = bank_train$education,replace =
c("illiterate" = 0,
"basic.4y" = 4,
"basic.6y" = 6,
"basic.9y" = 9,
"high.school" = 12,
"professional.course" = 12,
"university.degree" = 16,
"unknown" = NA))
bank_train$education_numeric <- as.numeric(edu.num)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/527684.html
標籤:r数字水平
上一篇:R/箭頭總結變數列
