我有一个充满字符变量的数据集,我想将其转换为有序因子变量.我能够一次将所有变量转换为因子,但我试图将它们排序为("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.")))

或者可以将levels指定为

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

R相关问答推荐

根据元素和前一个值之间的差值过滤矩阵的元素

`lazy_dt`不支持`dplyr/across`?

R中1到n_1,2到n_2,…,n到n_n的所有组合都是列表中的向量?

如何根据数据帧中的值从该数据帧中提取值?

将向量元素重新排序为R中的第二个

如何移除GGPlot中超出与面相交的任何格网像元

自动STAT_SUMMARY统计与手动标准误差之间的差异

构建一个6/49彩票模拟系统

整理曲线图、曲线图和点图

随机将数据帧中特定列上的某些行设置为NA

如何在R中创建这些列?

为什么R列名称忽略具有指定名称的向量,而只关注索引?

如何修复geom_rect中的层错误?

在R中,如果一个值在同一数据帧中的任何特定列中,如何计算?

当执行一个比下游react 链慢的耗时的函数时,如何防止shiny 的react 对象反弹?

如何使用str_Detect计算并返回列表中检测到的字符串?

错误:您是否拼错了`ggplot()`中的`data`参数

如何计算前一个日期窗口的平均值?

引用数据.R中函数中的表列

符号作为模型摘要中的系数名称