У меня есть большой набор данных, который читается из файла SPSS
. Он содержит несколько строк и столбцов, считанных из множества небольших SPSS
файлов. Файл SPSS содержит некоторые ошибки, которые я хочу исправить в R. Когда данные читаются, они имеют все шумы в уровнях фактора, но в SPSS данные в порядке. Я не могу изменить уровни фактора во многих отдельных файлах в SPSS. Ниже приведен небольшой образец данных, которые у меня есть
data
a b c d e
[1] 3 5 1 Very dissatisfied 5 5
[2] 8 3 10 Don't Know 1
[3] 7 5 3 8 6
[4] 3 5 9 6 99
[5] 9 4 8 10 Very Satisfied 3
[6] 5 NA 99 Don't Know Very Satisfied 10
levels(data[,1])
[1] "1 Very Dissatisfied" "2" "3" "4"
[5] "5" "6" "7" "8"
[9] "9" "1" "10 Very Satisfied" "99 Don't know"
[12] "1 Very Bad" "99" "2 Satisfied" "10"
Уровни содержат много ошибок. Я хочу исправить их на что-то вроде следующего
x<-factor()
x<-ordered(x,levels=c("1 Very Dissatisfied","2 Satisfied","3 Satisfied","4 Satisfied",
"5 Satisfied","6 Satisfied","7 Satisfied","8 Satisfied","9 Satisfied","10 Very Satisfied",
"99 Dont Know"))
levels(x)
[1] "1 Very Dissatisfied" "2 Satisfied" "3 Satisfied" "4 Satisfied"
[5] "5 Satisfied" "6 Satisfied" "7 Satisfied" "8 Satisfied"
[9] "9 Satisfied" "10 Very Satisfied" "99 Dont Know"
Я пробовал следующий код
for(j in c(1,2,5)){
data[,j] <- factor(data[,j], levels = c(levels(data[,j]), levels(x)))
for(i in 2:9){
data[grep(i,data[,j]),j] <- paste(i,"Satisfied")}
}
Это не работает. Покажите, пожалуйста, где я не прав и что мне делать.
Даже после того, как этот код заработает, я должен удалить неиспользуемые факторы мусора, которые содержит переменная. Как это сделать?