У меня очень грязный набор данных, который нужно предварительно обработать.Я хотел бы изменить все переменные и добавить информацию об уровнях вручную, поэтому я пытаюсь сделать цикл, который использует мутирование на нем.
Мне удалось создать список, в котором есть номера строк переменных, которые нужно изменить в кадре данных (например, .varstochange).Я также сгенерировал два списка: первый имеет уровни, которые имеют эти переменные (см. Номера уровней), а второй имеет метки для использования (см. Имена уровней).
Я очень новичок в циклах, и использование мутаций становится затруднительным из-за способа записи magittr
tempdat<- data.frame(location=c("1","2","3","1","2","3","1","2","1"),job=c(1,0 ,1,0,1,0,1,0,1),age=c(12,12,13,14,15,13,1,14,14))
varstochange<-c(1,2)
levelnames<-list()
levelnames[[1]]=c("Europe","Africa","Asia")
levelnames[[2]]=c("yes","no")
levelnumbers<-list()
levelnumbers[[1]]=c("1","2","3")
levelnumbers[[2]]=c("0","1")
Я пытался написать что-то подобное, но действительно не знал, с чего начать икак заставить функцию выбирать элементы из трех независимых списков и вводить их в цикл изменения ....
Вот где я застрял.
for (i in 1:length(varstochange)){
input<-tempdat%>%
mutate(varstochange[i]=factor(tempdat[i],levels=c(unlist(levelnumbers[i])),l abels=c(unlist(levels_names[i])),order=TRUE))
}
В конце я быхотелось бы иметь набор данных, который только изменяет формат переменных на те, что указаны в «varstochange», и который имеет структуру с уровнями, определенными в двух других списках.
Буду признателен за любую помощь в создании этой работы, спасибо!