我有一个充满字符变量的数据集,我想将其转换为有序因子变量。我能够立即将所有变量转换为因子,但我尝试对它们进行排序 ("Stimme nicht zu", "Stimme eher nicht zu", "Stimme teilweise zu", "Stimme zu", "Stimme voll zu ”,“k.A.”) 没有成功。你有办法帮我解决吗?
这是我的代码和数据:
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"))
最佳答案
第二行代码应该是 lambda 函数
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.")))
或者可以将级别
指定为
lapply(MD4[1:10], ordered,
c("Stimme nicht zu", "Stimme eher nicht zu",
"Stimme teilweise zu", "Stimme zu", "Stimme voll zu", "k. A."))
关于r - 同时对多个因素的水平进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71990112/