重新编码/重新调整不同级别的 data.frame 因素

2023-11-23

每次当我必须重新编码一组变量时,我都会想到 SPSS 重新编码功能。我必须承认这非常简单。有一个类似的recode函数于car包,它确实有效,但我们假设我想用factor.

I have data.frame有多个值范围从 1 到 7 的变量。我想“反转”变量值,因此用 7 替换 1,用 6 替换 2,用 5 替换 3,等等。我可以利用factor功能:

# create dummy factor
set.seed(100)
x <- as.factor(round(runif(100,1,7)))
y <- factor(x, levels = rev(levels(x)))

如果我运行:

> levels(x)
[1] "1" "2" "3" "4" "5" "6" "7"
> levels(y)
[1] "7" "6" "5" "4" "3" "2" "1"

当我想重新编码不具有​​相同级别的因子时,问题就开始了。如果某个因子 z 有水平c("1", "3", "4", "6", "7"),我是否有机会通过利用“反转”级别,例如 1=7、2=6、3=5 等factor功能?

其他有效的重新编码功能应该足够了!


您必须提供levels因子的论证(正如德克所写):

set.seed(2342472)
( x <- round(runif(10,1,7)) )
#  [1] 7 5 5 3 1 2 5 3 3 2
( xf <- as.factor(x) )
# [1] 7 5 5 3 1 2 5 3 3 2
# Levels: 1 2 3 5 7
( yf <- factor(x,levels=7:1) )
# [1] 7 5 5 3 1 2 5 3 3 2
# Levels: 7 6 5 4 3 2 1

你也可以在现有因素上做到这一点

( yxf <- factor(xf,levels=7:1) )
# [1] 7 5 5 3 1 2 5 3 3 2
#Levels: 7 6 5 4 3 2 1

正如您所看到的,级别是按需求顺序扩展的。

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

重新编码/重新调整不同级别的 data.frame 因素 的相关文章

  • 合并的 xts 对象未对齐

    请尝试以下代码 library quantmod getSymbols SPY from 1950 01 01 SPY lt to monthly SPY temp lt xts Cl SPY index SPY 您将获得一个xts具有相同
  • 我可以在 r 中使用传单“map_shape_click”事件来用数据表填充 box() 吗?

    我已经在网络上搜索了好几个星期 试图找到一个示例或代码来实现我想要用我的闪亮应用程序 shinydashboard 完成的任务 我是 r 的新手 我开始认为我想做的事情是不可能的 我基本上有一个带有县多边形 shapefile 的传单地图
  • 如何使用“NA”作为字符串

    我有一个 csv 文件 其中一列是字符类型 该变量的很少有值是 NA 字符串 但是当我使用 read csv 读取 R 中的 csv 文件时 NA 字符串存储为 NA 我该如何修复它 您可以使用na strings论证中read csv r
  • 使用 lapply、Reduce 和 union 折叠 data.table 中的行

    我有一个 data table 示例 JACcar 它应该使用下面的代码根据 ID 折叠成一行 但是 我不明白为什么它不会折叠少于 2 行 我还尝试通过将列限制为仅包含 NA 以外的值的列来验证我的输出 因为原始数据中有 123 列 有人可
  • 安装 R 包。包含目录为空。开发标头

    我目前正在尝试运行一些最初在 2 11 0 下运行的 R 代码 我使用的 R 版本 2 14 1 无法运行该代码 我不熟悉 R 及其向后兼容性 据我所知 我的问题可能与版本无关 我会很高兴得知这是我做错的事情 其余的代码是无关紧要的 即使我
  • 如何检查向量是否是单个 NA 值,没有长度警告且没有抑制

    我有一个功能NA作为默认值 但如果没有NA应该是一个不限于大小 1 的字符向量 我有一个检查来验证这些 但是is na当向量是字符向量时产生标准警告length大于1 so function lt function x NA if is n
  • 对 data.table 进行子集化的最快方法是什么?

    在我看来 这是执行行 列子集的最快方法data table是使用 join 和nomatch option 它是否正确 DT data table rep 1 100 100000 rep 1 10 1000000 setkey DT V1
  • 将 SAS sas7bdat 数据读入 R

    R 有哪些选项可以读取本机 SAS 格式的文件 sas7bdat 进入R The NCES 共同核心 https nces ed gov ccd pubschuniv asp例如 包含以此格式保存的大量数据文件存储库 为了具体起见 让我们集
  • 如何使用 R 更改 png 文件的大小

    我正在绘制 png 文件并获取一张小图片 你知道一些可以改变 png 图大小的简单代码吗 我的地块太高太 薄 另外有没有办法改变情节的分辨率 谢谢 伊格尔 png png filename Rplot 03d png width 480 h
  • 连接路径的函数?

    是否有现有的函数来连接路径 我知道实施起来并不困难 但仍然 除了照顾尾随 or 我需要注意正确的操作系统路径格式检测 即我们是否编写C dir file or dir file 正如我所说 我相信我知道如何实施它 问题是 我应该这样做吗 现
  • R:交换两个变量而不使用第三个变量

    我有两个变量 即 a lt 1 b lt 2 我想交换他们的价值观 是否有任何内置的 R 函数能够执行该操作 或者是否有其他优雅的方式 而不使用第三个 临时 变量 Note 如果可能的话适用于字符串或其他数据类型 有一个通用的解决方案或 技
  • 将 stat_smooth 添加到 ggplot2 中的仅 1 个方面

    我有一些数据 在某个因素的某个水平上 存在显着的相关性 在另一个层面上 则没有 并排绘制这些图很简单 使用 stat smooth 向它们添加一行 也很简单 但是 我不希望线条或其填充显示在两个面之一中 有没有一种简单的方法可以做到这一点
  • 在 Shiny 应用程序中更改 bsModal 的背景

    我正在开发一个 Shiny 应用程序 我需要确保最终用户不会意外关闭 bsModal 因为它上面有一些操作按钮 我做了一些研究并了解到我需要覆盖背景和键盘参数 但即使我看到了一些建议 我也不知道这到底需要放在我的代码中的哪里 我不精通 Ja
  • 如何从数据框中按降序获取前n家公司

    我正在尝试从数据框中获取排名前 n 的公司 下面是我的代码 data Forbes2000 package HSAUR sort Forbes2000 profits decreasing TRUE 现在我想从这个排序向量中获取前 50 个
  • 与heroku配合使用的统计引擎

    我有一个 Heroku Rails 应用程序 需要处理一些重要的数字 并且我需要使用像 R 这样的统计库 更糟糕的是 MatLab 我正在寻找以下任何问题的答案 是否有不需要二进制文件的功能齐全的统计包 GEM 是否可以将 R 二进制文件作
  • 如何使用 Rcpp 将 C 结构从 C 库公开到 R

    我正在尝试将 C 结构从 C 库公开到 R 中 例如 struct A int flag 库提供 API 来构造和销毁是很常见的A A initA void freeA A a 感谢RCPP MODULE 很容易暴露它而不考虑析构函数 in
  • 如何在 R 中创建纯 ascii 表作为输出,类似于 MySQL 风格?

    我正在尝试为 R 找到一个输出的函数data frameMySQL 风格的 ascii 表中的对象如下 id var1 var2 1 asdf g 2 asdf h 3 asdf j 有这样的功能吗 至少有两个工具可以做到这一点 csvfi
  • 如何使用 Rrank() 函数创建新的ties.method? [复制]

    这个问题在这里已经有答案了 我试图按人口和日期排序这个数据框 所以我使用order and rank 功能 gt df lt data frame idgeoville c 5 8 4 3 4 5 8 8 date c rep 1950 4
  • 缩放geom_密度以将geom_bar与y上的百分比相匹配

    因为我对数学感到困惑上次我尝试问这个问题 https stackoverflow com questions 32412805 ggplot2 histogram with density curve that sums to 1 这是另一
  • “条件长度 > 1 并且仅使用第一个元素”错误

    我对 f 语句有疑问 因为它返回给我以下错误消息 条件长度 gt 1 并且仅使用第一个元素 我有一个名为 data summary 的数据框 我想创建两个新变量vol up and vol down取决于我的数据框的其他变量 这是我的脚本代

随机推荐

  • 如何查找3个或更多连续字符?

    我正在检查密码 这些功能之一是检查输入的密码是否连续重复 我还没有代码 因为我不知道该怎么做 我找到了这个正则表达式匹配两个或多个非连续的相同字符但它只匹配重复的逗号 以下是场景 5236aaa121 重复模式 因为a连续重复3次 2312
  • 在 PHP 中使用 uasort 访问数组键

    如果有一个相当基本的uasortPHP 中的函数如下所示 uasort arr function a b if a gt b return 1 if a lt b return 1 我尝试排序的数组如下所示 1642 gt 1 9314 g
  • 如何在简单适配器中的 imageview 中显示图像?

    我正在从 JSON 数组获取数据 并且可以在文本视图中显示文本 但在显示图像时遇到问题 这是主要活动 public class test extends ListActivity url to make request private st
  • 在 Azure 逻辑应用程序中反序列化 ServiceBus 内容

    我正在尝试读取 Azure 逻辑应用程序中消息的内容正文 但没有取得太大成功 我看到很多建议都说主体是base64编码的 并建议使用以下内容进行解码 json base64ToString triggerBody ContentData T
  • 使用snakeyaml将.yml文件加载到哈希图中(导入junit库)

    我正在尝试将 opencv 的 yml 文件加载到 arrayLists 均值 投影和标签中 我已经创建了这三个数组列表 并尝试将 yml 文件中的元素解析为它们 我发现了SnakeYAML 文档 但是我没有找到正确的方法 我正在尝试使用
  • 将 T[] 转换为 T[][] 的最快方法?

    So 事实证明并非所有数组都是一样的 多维数组可以具有非零下界 例如 请参阅 Excel PIA 的 Range Value 属性object rectData myRange Value 我需要将这些数据转换为锯齿状数组 我在下面的第一次
  • 为什么增强的 GCC 6 优化器会破坏实际的 C++ 代码?

    GCC 6 有一个新的优化器功能 假设this始终不为空并基于此进行优化 值范围传播现在假设 C 成员函数的 this 指针非空 这消除了常见的空指针检查但也破坏了一些不合格的代码库 例如 Qt 5 Chromium KDevelop 作为
  • OpenCV中如何检查两个矩阵是否相同

    我有两个 cv Mat 实例 m1 和 m2 它们具有相同的数字类型和大小 OpenCV 中是否有任何函数可以返回矩阵是否相同 具有所有相同的值 正如 Acme 提到的 您可以使用cv compare尽管它并不像您希望的那么干净 在下面的示
  • jQuery 多 ID 选择器

    这是我的代码开头的片段 var myUpload upload link upload bla bla bla 基本上我想做的是用几个不同的 ID 进行相同的调用 我本以为这会起作用 但事实并非如此 var myUpload upload
  • 将标签放在 SVG 路径的“中心”

    我正在尝试在 svg 文件的多边形上绘制标签 我面临的问题是大致找出这个多边形的中心来放置标签 因为路径的坐标是 svg 格式并且需要解析 有没有更简单的方法来确定 svg 多边形的中心 也许有人可以指出 javascript 库或片段 我
  • 如何在使用 tf.keras.preprocessing.image_dataset_from_directory() 时在预测期间获取文件名?

    Keras介绍tf keras preprocessing image dataset from directory最近的功能 比以前效率更高ImageDataGenerator flow from directory张量流2 x中的方法
  • 关闭 jQuery Mobile 新弹出窗口导致页面无用刷新

    我正在使用 1 2 0 alpha 版本的新 jqm 弹出窗口 我的问题是 当使用 esc 键关闭弹出窗口或单击屏幕时 我调用弹出窗口的页面会无用地刷新 此刷新仅发生我第一次关闭它 如果我重新打开并再次关闭弹出窗口 则页面不会刷新 似乎由于
  • Junit 5 中的 org.junit.runner.JUnitCore.runClasses 相当于什么?

    以下代码从 JUnit4 开始 大部分已翻译为 JUnit5 除了main 我这样写的原因是我正在演示 TDD 并且我有多个版本StringInverter实现 每个实现更多的功能并通过更多的测试 这里是StringInverter界面 i
  • PHP 对象分配与克隆

    我知道 php 文档中对此进行了介绍 但我对这个问题感到困惑 来自 php 文档 instance new SimpleClass assigned instance reference instance instance gt var a
  • 我可以使用变量作为选择器吗?

    我有这个变量 gutter 10 我想在像 SCSS 这样的选择器中使用它 grid gutter background red 所以输出变成CSS grid10 background red 但这行不通 是否可以 gutter 10 gr
  • 查找黄色文本的所有实例并将字体颜色更改为红色

    我需要一个 vba 宏来搜索 MS Word 2007 文档中字体颜色为黄色的所有文本并将其更改为红色 黄色不会显示在打印输出中 手动选择和更改将花费我几个小时 继 stakx 的 Word 97 解决方案之后 以下是在 Word 2010
  • 带指针的 GNU C 内联 asm“m”约束:地址与指向的值?

    我试图了解有关 Linux 中内联汇编器的一些事情 我正在使用以下功能 void test func Word32 var asm addl 0 eax m var return 它生成以下汇编代码 globl test func type
  • getDrawable() 在尝试从 imageview 获取位图时给出 null 对象

    我正在使用 glide 进行 imageview 我想从该 imageview 获取位图 ImageView imageView ImageView findViewById R id dp Glide with this load htt
  • android eclipse插件找不到有效路径

    我刚刚安装了最新的 galileo eclipse 版本 我添加了 最新的 adt 插件并将其配置为使用我的 android sdk r4 不幸的是 eclipse 插件已经失效了 由于某种原因 它 找不到 执行 android 工具 我收
  • 重新编码/重新调整不同级别的 data.frame 因素

    每次当我必须重新编码一组变量时 我都会想到 SPSS 重新编码功能 我必须承认这非常简单 有一个类似的recode函数于car包 它确实有效 但我们假设我想用factor I have data frame有多个值范围从 1 到 7 的变量