Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Order the levels of multiple factors at once

I have a dataset full of character variables, which I want to convert to ordered factor variables. I was able to convert all variables to factors at once, but my attempt to order them ("Stimme nicht zu", "Stimme eher nicht zu", "Stimme teilweise zu", "Stimme zu", "Stimme voll zu", "k. A.") was not successful. Do you have a solution for me?

Here are my code and my data:

MD4[,1:10] <- lapply(MD4[1:10], factor)
MD4[,1:10] <- lapply(MD4[1:10], ordered(MD4[1:10],c("Stimme nicht zu", "Stimme eher nicht zu", "Stimme teilweise zu", "Stimme zu", "Stimme voll zu", "k. A.")))


structure(list(veränderung_imap_austausch.verstärkt.akteuren = c("Stimme teilweise zu", 
"Stimme zu", NA, NA, "Stimme teilweise zu", "Stimme zu", "Stimme zu", 
"Stimme teilweise zu", NA, NA, NA, NA, NA, NA, NA, "Stimme teilweise zu", 
NA, NA, NA, NA, NA, "Stimme zu", NA, NA, NA, NA, "Stimme teilweise zu", 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, "Stimme voll zu", NA, "Stimme zu", 
NA, NA, NA, NA, NA, "Stimme voll zu", "Stimme zu", NA, NA, NA, 
"Stimme zu", "Stimme teilweise zu", NA, NA, NA, NA, NA, NA, NA, 
NA, "Stimme voll zu", "Stimme teilweise zu", "Stimme zu", NA, 
NA, NA, "Stimme zu", "Stimme zu", NA, "Stimme nicht zu", "Stimme zu", 
NA, "Stimme teilweise zu", "Stimme zu", "Stimme teilweise zu", 
NA, NA, NA, "Stimme voll zu", "Stimme voll zu", "Stimme teilweise zu", 
NA, NA, NA, "Stimme voll zu", NA, "Stimme nicht zu", "Stimme zu", 
NA, "Stimme zu", NA, "Stimme zu", "Stimme zu", "Stimme zu", "Stimme teilweise zu", 
"Stimme teilweise zu", "Stimme teilweise zu", NA, "Stimme teilweise zu", 
"k. A.", "Stimme eher nicht zu"), veränderung_imap_austausch.verstärkt.ideen = c("Stimme voll zu", 
"Stimme zu", NA, NA, "Stimme teilweise zu", "Stimme zu", "Stimme zu", 
"Stimme eher nicht zu", NA, NA, NA, NA, NA, NA, NA, "Stimme zu", 
NA, NA, NA, NA, NA, "Stimme zu", NA, NA, NA, NA, "Stimme zu", 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, "Stimme voll zu", NA, "Stimme zu", 
NA, NA, NA, NA, NA, "Stimme zu", "Stimme zu", NA, NA, NA, "Stimme zu", 
"Stimme teilweise zu", NA, NA, NA, NA, NA, NA, NA, NA, "Stimme voll zu", 
"Stimme zu", "Stimme voll zu", NA, NA, NA, "Stimme zu", "Stimme zu", 
NA, "Stimme teilweise zu", "Stimme zu", NA, "Stimme eher nicht zu", 
"Stimme zu", "Stimme zu", NA, NA, NA, "Stimme voll zu", "Stimme voll zu", 
"Stimme teilweise zu", NA, NA, NA, "Stimme voll zu", NA, "Stimme zu", 
"Stimme zu", NA, "Stimme zu", NA, "Stimme teilweise zu", "Stimme voll zu", 
"Stimme zu", "Stimme teilweise zu", "Stimme zu", "Stimme zu", 
NA, "Stimme zu", "k. A.", "Stimme teilweise zu"), veränderung_imap_fortschritt.umsetzung = c("Stimme zu", 
"Stimme zu", NA, NA, "Stimme teilweise zu", "Stimme zu", "k. A.", 
"Stimme teilweise zu", NA, NA, NA, NA, NA, NA, NA, "Stimme zu", 
NA, NA, NA, NA, NA, "Stimme zu", NA, NA, NA, NA, "Stimme zu", 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, "Stimme zu", NA, "Stimme zu", NA, 
NA, NA, NA, NA, "Stimme voll zu", "Stimme teilweise zu", NA, 
NA, NA, "Stimme zu", "Stimme teilweise zu", NA, NA, NA, NA, NA, 
NA, NA, NA, "Stimme zu", "Stimme teilweise zu", "Stimme zu", 
NA, NA, NA, "Stimme zu", "Stimme zu", NA, "Stimme teilweise zu", 
"Stimme zu", NA, "Stimme teilweise zu", "Stimme teilweise zu", 
"Stimme zu", NA, NA, NA, "Stimme voll zu", "Stimme voll zu", 
"Stimme teilweise zu", NA, NA, NA, "Stimme voll zu", NA, "Stimme teilweise zu", 
"Stimme teilweise zu", NA, "Stimme zu", NA, "Stimme teilweise zu", 
"Stimme voll zu", "Stimme teilweise zu", "Stimme zu", "Stimme eher nicht zu", 
"Stimme teilweise zu", NA, "Stimme teilweise zu", "k. A.", "Stimme teilweise zu"
), veränderung_imap_neue.strukturen = c("Stimme zu", "Stimme zu", 
NA, NA, "Stimme teilweise zu", "Stimme zu", "Stimme zu", "Stimme teilweise zu", 
NA, NA, NA, NA, NA, NA, NA, "Stimme teilweise zu", NA, NA, NA, 
NA, NA, "Stimme teilweise zu", NA, NA, NA, NA, "Stimme teilweise zu", 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, "Stimme teilweise zu", NA, "Stimme zu", 
NA, NA, NA, NA, NA, "Stimme voll zu", "Stimme teilweise zu", 
NA, NA, NA, "Stimme zu", "Stimme teilweise zu", NA, NA, NA, NA, 
NA, NA, NA, NA, "Stimme zu", "Stimme zu", "Stimme teilweise zu", 
NA, NA, NA, "Stimme zu", "Stimme zu", NA, "Stimme teilweise zu", 
"Stimme zu", NA, "Stimme teilweise zu", "Stimme zu", "Stimme zu", 
NA, NA, NA, "Stimme voll zu", "Stimme zu", "Stimme teilweise zu", 
NA, NA, NA, "Stimme voll zu", NA, "Stimme voll zu", "Stimme teilweise zu", 
NA, "Stimme voll zu", NA, "Stimme teilweise zu", "Stimme voll zu", 
"Stimme teilweise zu", "Stimme eher nicht zu", "Stimme eher nicht zu", 
"Stimme eher nicht zu", NA, "Stimme eher nicht zu", "k. A.", 
"Stimme nicht zu"), veränderung_imap_zuständigkeiten.klarer = c("Stimme teilweise zu", 
"Stimme teilweise zu", NA, NA, "Stimme teilweise zu", "Stimme zu", 
"k. A.", "Stimme teilweise zu", NA, NA, NA, NA, NA, NA, NA, "Stimme eher nicht zu", 
NA, NA, NA, NA, NA, "Stimme teilweise zu", NA, NA, NA, NA, "Stimme teilweise zu", 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, "Stimme teilweise zu", NA, "Stimme zu", 
NA, NA, NA, NA, NA, "Stimme teilweise zu", "Stimme teilweise zu", 
NA, NA, NA, "Stimme teilweise zu", "Stimme teilweise zu", NA, 
NA, NA, NA, NA, NA, NA, NA, "Stimme teilweise zu", "Stimme teilweise zu", 
"Stimme zu", NA, NA, NA, "Stimme teilweise zu", "Stimme teilweise zu", 
NA, "Stimme zu", "Stimme teilweise zu", NA, "Stimme teilweise zu", 
"Stimme teilweise zu", "Stimme zu", NA, NA, NA, "Stimme voll zu", 
"Stimme zu", "Stimme teilweise zu", NA, NA, NA, "Stimme voll zu", 
NA, "Stimme eher nicht zu", "Stimme zu", NA, "Stimme teilweise zu", 
NA, "Stimme teilweise zu", "Stimme teilweise zu", "Stimme teilweise zu", 
"Stimme teilweise zu", "Stimme eher nicht zu", "Stimme eher nicht zu", 
NA, "Stimme zu", "k. A.", "Stimme eher nicht zu"), veränderung_imap_rollen.klarer = c("Stimme teilweise zu", 
"Stimme teilweise zu", NA, NA, "Stimme teilweise zu", "Stimme zu", 
"k. A.", "Stimme eher nicht zu", NA, NA, NA, NA, NA, NA, NA, 
"Stimme teilweise zu", NA, NA, NA, NA, NA, "Stimme teilweise zu", 
NA, NA, NA, NA, "Stimme eher nicht zu", NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, "Stimme zu", NA, "Stimme zu", NA, NA, NA, NA, NA, "Stimme teilweise zu", 
"Stimme nicht zu", NA, NA, NA, "Stimme teilweise zu", "Stimme teilweise zu", 
NA, NA, NA, NA, NA, NA, NA, NA, "Stimme teilweise zu", "Stimme teilweise zu", 
"Stimme nicht zu", NA, NA, NA, "Stimme zu", "Stimme teilweise zu", 
NA, "Stimme zu", "Stimme nicht zu", NA, "Stimme teilweise zu", 
"Stimme zu", "Stimme zu", NA, NA, NA, "Stimme voll zu", "Stimme zu", 
"Stimme teilweise zu", NA, NA, NA, "Stimme voll zu", NA, "Stimme eher nicht zu", 
"Stimme teilweise zu", NA, "Stimme teilweise zu", NA, "Stimme teilweise zu", 
"Stimme zu", "Stimme teilweise zu", "Stimme eher nicht zu", "Stimme teilweise zu", 
"Stimme teilweise zu", NA, "Stimme zu", "k. A.", "Stimme zu"), 
    veränderung_imap_digitale.lösungen = c("Stimme zu", "Stimme zu", 
    NA, NA, "Stimme voll zu", "Stimme zu", "Stimme zu", "Stimme zu", 
    NA, NA, NA, NA, NA, NA, NA, "Stimme teilweise zu", NA, NA, 
    NA, NA, NA, "Stimme zu", NA, NA, NA, NA, "k. A.", NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, "Stimme voll zu", NA, "Stimme zu", 
    NA, NA, NA, NA, NA, "Stimme voll zu", "Stimme zu", NA, NA, 
    NA, "Stimme zu", "Stimme teilweise zu", NA, NA, NA, NA, NA, 
    NA, NA, NA, "Stimme nicht zu", "Stimme teilweise zu", "Stimme zu", 
    NA, NA, NA, "Stimme voll zu", "Stimme voll zu", NA, "k. A.", 
    "Stimme voll zu", NA, "Stimme zu", "Stimme zu", "Stimme zu", 
    NA, NA, NA, "Stimme zu", "Stimme voll zu", "k. A.", NA, NA, 
    NA, "Stimme zu", NA, "Stimme nicht zu", "Stimme voll zu", 
    NA, "Stimme zu", NA, "Stimme zu", "Stimme voll zu", "Stimme voll zu", 
    "Stimme zu", "Stimme zu", "Stimme zu", NA, "Stimme zu", "k. A.", 
    "Stimme zu"), veränderung_imap_klarheit.prozesse = c("Stimme voll zu", 
    "Stimme teilweise zu", NA, NA, "Stimme zu", NA, NA, "Stimme zu", 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "Stimme zu", 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, "Stimme zu", NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "Stimme zu", 
    NA, NA, NA, NA, NA, NA, "Stimme teilweise zu", NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, "Stimme voll zu", NA, NA, "Stimme voll zu", "Stimme voll zu", 
    "Stimme teilweise zu", "Stimme zu", "Stimme zu", NA, "Stimme teilweise zu", 
    "k. A.", "Stimme zu"), veränderung_imap_weiterent.planung = c("Stimme voll zu", 
    "Stimme teilweise zu", NA, NA, "Stimme teilweise zu", NA, 
    NA, "Stimme teilweise zu", NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, "Stimme zu", NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    "Stimme voll zu", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, "Stimme zu", NA, NA, NA, NA, NA, 
    NA, "Stimme teilweise zu", NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "Stimme zu", 
    NA, NA, "Stimme zu", "Stimme voll zu", "Stimme teilweise zu", 
    "Stimme zu", "Stimme zu", NA, "Stimme teilweise zu", "k. A.", 
    "Stimme zu"), veränderung_imap_arbeit.relfelktieren = c("Stimme zu", 
    "Stimme teilweise zu", NA, NA, "Stimme zu", NA, NA, "Stimme zu", 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "Stimme zu", 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, "Stimme voll zu", NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "Stimme voll zu", 
    NA, NA, NA, NA, NA, NA, "Stimme teilweise zu", NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, "Stimme zu", NA, NA, "Stimme teilweise zu", "Stimme voll zu", 
    "Stimme teilweise zu", "Stimme zu", "Stimme zu", NA, "Stimme zu", 
    "k. A.", "Stimme zu")), row.names = c(NA, -114L), class = c("tbl_df", 
"tbl", "data.frame"))

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

>Solution :

The second line of code should be a lambda function

MD4[1:10] <- lapply(MD4[1:10], function(x) 
   ordered(x,c("Stimme nicht zu", "Stimme eher nicht zu",
   "Stimme teilweise zu", "Stimme zu", "Stimme voll zu", "k. A.")))

Or can specify the levels as

lapply(MD4[1:10], ordered,
   c("Stimme nicht zu", "Stimme eher nicht zu",
  "Stimme teilweise zu", "Stimme zu", "Stimme voll zu", "k. A."))
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading