设置数据框中多列的因子水平的排序

2023-12-24

我已将 CSV 文件中的数据加载到数据框中。每列代表一个调查问题,所有答案均采用五点李克特量表,并带有标签:(“无”、“低”、“中”、“高”、“非常高”)。

当我最初读入数据时,R 正确地将这些值解释为因子,但不知道排序应该是什么。我想指定值的顺序,以便我可以进行一些数值计算。我认为下面的代码可以工作:

X <- read.csv('..')
likerts <- data.frame(apply(X, 2, function(X){factor(X, 
             levels = c("None", "Low", "Medium", "High", "Very High"), 
             ordered = T)}))

相反,所有关卡数据都会转换为字符串。我该如何正确地做到这一点?


使用时data.frame,R 将再次转换为正常因子(或者如果stringsAsFactors = FALSE串)。使用as.data.frame反而。一个带有玩具数据框的简单示例:

X <- data.frame(
  var1=rep(letters[1:5],3),
  var2=rep(letters[1:5],each=3)

)
likerts <- as.data.frame(lapply(X, function(X){ordered(X,
              levels = letters[5:1],labels=letters[5:1])}))

> str(likerts)
'data.frame':   15 obs. of  2 variables:
 $ var1: Ord.factor w/ 5 levels "e"<"d"<"c"<"b"<..: 5 4 3 2 1 5 4 3 2 1 ...
 $ var2: Ord.factor w/ 5 levels "e"<"d"<"c"<"b"<..: 5 5 5 4 4 4 3 3 3 2 ...

顺便说一句,ordered()给你一个有序因子,并且lapply(X,...)比更优化apply(X,2,...)对于数据帧。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置数据框中多列的因子水平的排序 的相关文章

  • 如何减小 R Plot 中图例的大小,同时仍使其可读?

    我试图用 R 中的两个 y 轴绘制多年来的一些数据 但是 每当我尝试包含图例时 图例就会主导我的绘图 当我使用其他地方建议的解决方案时 例如keyword和 或使用cex论据 在另一篇文章中建议here https stackoverflo
  • 在 mts 对象上使用 Apply 系列函数

    在 mts 对象上使用 apply 或 sapply 会在发送到函数时删除其时间序列属性 我应该如何在 mts 对象中的每个时间序列上应用相同的函数 带有 ts 输入和 ts 输出 并返回它 最好是 mts 我的意思是除了使用 for 循环
  • 返回带有参数的函数的函数

    创建一个应返回包含原始函数参数的函数时 我应该如何处理 例如考虑这个函数 a lt function value function x x value 我希望它返回我在结果函数的参数中指定的值 如下所示 b lt a 3 gt b gt f
  • 在 for 循环中绘制的多个 ggplot2 绘图的网格

    作为一个新的 ggplot2 用户 我对可能性的数量感到有点迷失 并且很难在网上找到我认为简单问题的简单答案 我想在同一张纸上显示 ggplot2 的多个图 但知道这些图来自 for 循环 以下示例无法编译 仅用于说明 for i in c
  • Quarto/Rmarkdown 中的美人鱼图:狭窄且模糊

    我正在尝试生成 pdf 格式的四开文档 稍后会生成 word 格式 我遇到了美人鱼图的问题 请在下面找到一个示例 qmd 文件来说明该问题 所以首先它应该支持 mermaid 标签 但当我这样做时 我无法在 rstudio 中 运行 单元
  • R - 根据另一个数据框查找每组的重叠日期

    我有一个数据框 其中包含多个雨量计的降雨测量值 如下例所示 gt rnfl ID date value 1 250 2000 03 01 5 37 2 250 2000 03 02 0 00 3 250 2000 03 03 2 94 4
  • 包检查时如何有效处理未压缩的保存?

    在最近开发一个包的过程中 我将数据集包含在data 我的包的文件夹 在我的具体情况下 我有 5 个数据集 所有这些数据集都位于data table格式 尽管我在下面描述的问题仍然存在 如果我将它们保留为data frame 我已将每个人单独
  • 有效地将环境从内部功能转移到全局环境

    我有一个在其中创建环境的函数 我希望将该环境分配给全局环境 目前我通过将环境分配给来做到这一点globalenv 作为最后一步 如下 funfun lt function inc 1 dataEnv lt new env dataEnv d
  • 正则表达式挑选括号之间的一些文本[重复]

    这个问题在这里已经有答案了 可能的重复 提取 R 中所有括号内的信息 正则表达式 https stackoverflow com questions 8613237 extract info inside all parenthesis i
  • udunits2 R 安装:找不到 udunits2.h

    我正在尝试在 R 中安装 udunits2 以满足对ggforce包裹 但是 安装程序在检查 udunits2 时始终失败 我已经尝试过中的说明this https stackoverflow com questions 47059517
  • ggplot 中跨组的连续线

    我有一个数据时间序列 其中观察了一些数据 模拟了一些数据 我想生成整个数据系列随时间变化的图 其中颜色表示数据源 但是 我只能弄清楚如何使 ggplot 中的 geom line 连接同一组中的点 这是一个例子来说明 Create samp
  • mclapply 用户时间大于已用时间

    我正在尝试使用mclapply的功能parallel封装在R 该函数通过计算对数似然距离将值分配给序列矩阵 这是一个 CPU 密集型操作 所结果的system time价值观令人困惑 gt system time mclapply work
  • 如何在 R 地图库中绘制正确的颜色

    我正在尝试使用 R 地图库为特定国家绘制特定颜色 我可以填写颜色 但它们与各自的国家 地区没有正确关联 我想知道是否有人能知道为什么 我的数据框是 filld 有 3 列 第一列是国家名称 第二列只是一些数字数据 第三列是颜色 countr
  • 如何用日语创建 ggplot2 标题?

    我正在准备日语演示文稿 并希望图像的标题和图例名称为日语 我可以让文本在 RStudio 中渲染得很好 但是当渲染图像时 日语字符仅显示为方框 x 10 10 y x x df data frame x y ggplot df aes x
  • R:使用管道将单个参数传递到函数中的多个位置

    我试图专门使用管道来重写以下代码 使用babynames包中的babynames数据 library babynames library dplyr myDF lt babynames gt group by year gt summari
  • 创建序列组合

    我正在尝试解决以下问题 考虑 5 个简单序列 0 100 100 0 rep 0 101 rep 50 101 rep 100 101 我需要 3 个数字变量的集合 它们的所有组合都具有上述序列 由于有 5 个序列和 3 个变量 因此可以有
  • 在 Linux 下更改 RStudio 用户界面(不是图形等)中的字体大小

    This is not关于更改使用 RStudio 生成的图表中的字体大小的问题 我已经知道该怎么做了 我在配备 视网膜 显示屏的 MacBook Pro 上的 Linux 下使用 RStudio 我使用 KDE 作为我的窗口管理器 我可以
  • 使用 dplyr 的 select 引用变量名[重复]

    这个问题在这里已经有答案了 通常我会想要选择变量的子集 其中该子集是函数的结果 在这个简单的例子中 我首先获取与宽度特征相关的所有变量名称 library dplyr library magrittr data iris width var
  • R 在安装包依赖项时不考虑最大版本

    假设我正在开发一个名为magicr做一些统计魔术 我希望它使用另一个名为的包中的函数fairydust 假设 存在于 CRAN 上 很遗憾fairydust刚刚向 CRAN 发布了 2 0 0 版本 完全破坏了我计划使用的功能 所以我更新了
  • R - 如何为数据范围内的缺失值绘制条形图零点?

    假设我对 1 到 10 之间的整数的 200 个点有 10 个观察值 mysample sample rep seq 1 10 20 10 我想用条形图绘制它 barplot table mysample barplot https i s

随机推荐