Haven::read_sav 显示值标签而不是代码

2024-02-15

我在用着haven导入一个.sav文件到R。我想知道如何显示值标签而不是数字代码。在下面的示例中,我想显示物种名称而不是数字 1、2、3。

library(haven)
path <- system.file("examples", "iris.sav", package = "haven")
df1 <- read_sav(path)
head(df1)

# A tibble: 6 x 5
Sepal.Length Sepal.Width Petal.Length Petal.Width Species  
<dbl>       <dbl>        <dbl>       <dbl> <dbl+lbl>
1         5.10        3.50         1.40       0.200 1        
2         4.90        3.00         1.40       0.200 1        
3         4.70        3.20         1.30       0.200 1        
4         4.60        3.10         1.50       0.200 1        
5         5.00        3.60         1.40       0.200 1        
6         5.40        3.90         1.70       0.400 1  

str(df1)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame':   150 obs. of  5 variables:
  $ Sepal.Length: atomic  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
..- attr(*, "format.spss")= chr "F8.2"
$ Sepal.Width : atomic  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
..- attr(*, "format.spss")= chr "F8.2"
$ Petal.Length: atomic  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
..- attr(*, "format.spss")= chr "F8.2"
$ Petal.Width : atomic  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
..- attr(*, "format.spss")= chr "F8.2"
$ Species     :Class 'labelled'  atomic [1:150] 1 1 1 1 1 1 1 1 1 1 ...
.. ..- attr(*, "format.spss")= chr "F8.0"
.. ..- attr(*, "labels")= Named num [1:3] 1 2 3
.. .. ..- attr(*, "names")= chr [1:3] "setosa" "versicolor" "virginica"

找到了一个非常简单的解决方案haven包裹

haven::as_factor(df1)
# A tibble: 150 x 5
   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
          <dbl>       <dbl>        <dbl>       <dbl> <fct>  
 1          5.1         3.5          1.4         0.2 setosa 
 2          4.9         3            1.4         0.2 setosa 
 3          4.7         3.2          1.3         0.2 setosa 
 4          4.6         3.1          1.5         0.2 setosa 
 5          5           3.6          1.4         0.2 setosa 
 6          5.4         3.9          1.7         0.4 setosa 
 7          4.6         3.4          1.4         0.3 setosa 
 8          5           3.4          1.5         0.2 setosa 
 9          4.4         2.9          1.4         0.2 setosa 
10          4.9         3.1          1.5         0.1 setosa 
# ... with 140 more rows
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Haven::read_sav 显示值标签而不是代码 的相关文章

  • 使用 stargazer 分析包含时间序列的数据帧

    我有一个面板数据集共 10 个观测值和 3 个变量 观测值 30 的数量 10 行 国家 地区 2 列 迁移参数 相应年份的 1 列 可以这么说 我的数据框由 3 个年度数据框组成 我该如何申请观星者考虑到它是一个面板数据集 所以最大 N
  • 抑制 R 中的错​​误消息

    我正在 R 中运行模拟研究 有时 我的模拟研究会产生错误消息 当我在函数中实现模拟研究时 当出现此错误消息时模拟停止 我知道抑制错误是不好的做法 但此时对我来说 除了抑制错误然后继续下一个模拟 直到达到我喜欢运行的模拟总数为止 没有其他选择
  • 在 Shiny 应用程序中过滤数据时,长度为 1 的字符向量除了第一个元素之外的所有元素都将被忽略错误

    我有以下闪亮的应用程序 library shiny library rhandsontable library shinydashboard library ggplot2 library dplyr setwd C Users Marc
  • ggplot2 - 添加具有不同中断和标签的辅助 y 轴

    是否可以使用 ggplot2 手动向辅助 y 轴添加中断和标签 see bottom right 我希望在右侧 y 轴上有更紧凑的中断 代表条形 该图将作为基本情况 然后我将展示如何更改辅助 y 轴上的分隔符和标签 sapply c pip
  • kmeans 对分组数据进行聚类

    目前 我尝试在分组数据中找到簇的中心 通过使用示例数据集和问题定义 我能够创建kmeans每个组内的集群 然而 当涉及到给定组的集群的每个中心时 我不知道如何获取它们 https rdrr io cran broom man kmeans
  • 如何将 R 数据框中的多个字符列合并为单个列

    我正在处理人口普查数据 需要将四个字符列合并为一列 Example LOGRECNO STATE COUNTY TRACT BLOCK 60 01 001 021100 1053 61 01 001 021100 1054 62 01 00
  • 使用管道语法处理模型列表

    我经常喜欢拟合和检查与 R 数据框中的两个变量相关的多个模型 我可以使用如下语法来做到这一点 require tidyverse require broom models lt list hp exp cyl hp cyl map df m
  • jupyter 中的 r 图形 - 无法启动 png() 设备

    我在 Jupyter 中使用 R 但无法在笔记本本身中绘制图表 这是一个可重现的示例 set seed 123 mat as matrix x rnorm 100 y rnorm 100 plot mat 在朱皮特中 Error in pn
  • Django 中的 Rpy2 错误 - 未为“”类型的对象定义转换“py2rpy”

    我以前从未使用过 R 并且正在尝试使用 rpy2 从 python 调用 R 函数 它可以在独立的 python 终端上运行 但不能在 Django 中运行 但rpy2似乎无法将python字符串转换为r对象 我正在使用同事提供的自定义库
  • 在 Shiny 中叠加两个 ggplot

    我有一个非常大的数据集 我正在使用 ggplot 在 Shiny 上绘制它 我有一个与 x 轴上的值相关联的滑块 我想用它对选定的数据子集重新着色 并让其余数据保持原样 最简单的选择是重新创建整个绘图 但由于它是一个大型数据集 因此这是一个
  • 聚合日期时间以总结在特定条件下花费的时间

    我很困惑我应该如何继续 我下面有一些虚拟数据 Date lt as POSIXct c 2018 03 20 11 52 25 2018 03 22 12 01 44 2018 03 20 12 05 25 2018 03 20 12 10
  • 将日期时间字符串转换为 Date 类

    我有一个带有日期时间字符列的数据框 当我使用as Date 除了少数实例之外 我的大多数字符串都被正确解析 下面的示例有望向您展示发生了什么 my attempt to parse the string to Date uses the s
  • 在函数中使用 quit/q 会导致 RStudio 出现致命错误

    更多的是好奇 但当你使用时q or quit在 R studio 内的函数内部 它会导致致命错误 如下所示 但 rgui 中的相同函数会导致 R 像往常一样停止 并且仅使用q 在 RStudio 中按预期关闭 R 为什么q在函数中导致 RS
  • 使用自定义渐变填充直方图箱

    我想在 R 和 ggplot2 中创建一个直方图 其中根据连续的 x 值填充箱 大多数教程仅通过离散值或密度 计数进行着色 下列的这个例子 https stackoverflow com questions 40284227 how to
  • R:ifelse 中的字符串列表

    我正在寻找与 MySQL 中的 where var in 语句类似的东西 我的代码如下 data lt data frame id 10001 10030 cc1 rep c a b c 10 attach data data new lt
  • 如何读取 R 中的每个 .csv 文件并将其导出到单个大文件中

    你好 我有以下格式的数据 101 20130826T155649 3 1 round 0 10552 180 yellow 12002 1 round 1 19502 150 yellow 22452 1 round 2 28957 130
  • RStudio 不会通过 rPython 调用加载所有 Python 模块

    我从 Bash 和 RStudio 中运行相同的脚本时出现一些意外行为 请考虑以下事项 我有一个文件夹 rpython 包含两个脚本 test1 R library rPython setwd rpython python load tes
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • 空间数据xyz到矩阵

    我有一个大数据框 100 000 行 其中包含 LON LAT VALUE 我想将其转换为矩阵 EPSG 中的坐标 3035 我使用以下命令尝试了 reshape2 包 acast df lon lat value var value 效果
  • R data.table fwrite 到 fread 空间分隔符并清空

    我在使用 fread 以 作为分隔符和散布的空白值时遇到问题 例如 这个 dt lt data table 1 5 1 5 1 5 make a simple table dt 3 V2 NA add a blank in the midd

随机推荐

  • Java 泛型不兼容类型(不存在类型变量 T 的实例)

    这基本上是我第一次接触 Java 泛型类型 我无法弄清楚下面的代码有什么问题 我有一个助手类Helper具有静态函数inRange使用泛型类型应该从输入列表中返回特定对象的列表range围绕索引处的对象index 我还没有测试过 如果它工作
  • 如何在 WordPress 中加载 Ajax

    我熟悉以 jQuery 的普通方式使用 ajax 我已经玩了一段时间了 但不明白 WordPress 需要什么才能让它工作 我这里的内容取自一些教程或文章 这是在函数 php 在儿童主题中 code to load jquery worki
  • 如何在 Moderngl EGL 后端启用抗锯齿功能?

    当没有抗锯齿时 此代码呈现一个彩色三角形 samples 0 但是当我打开抗锯齿功能时 samples 1 32 它无法渲染任何东西 如何使其与抗锯齿一起使用 也许我无法直接从多重采样 fbos 或纹理中读取像素 但我不知道如何解决这个问题
  • jQuery Mobile“pagebeforechange”被调用两次

    我为 pagebeforechange 设置了以下侦听器 与 jQuery Mobile 文档自己的代码非常相似 并且在主页上有一个正在调用的链接http localhost product id 255979 http localhost
  • ASP.Net core 中全大写属性名称默认驼峰命名法序列化为 JSON 的问题

    我对 Net Core 的默认序列化 CamelCasing 行为有疑问 希望看看其他人是否也遇到同样的问题以及他们使用了什么解决方法 像 FOO12 或 FOO1 这样的属性名称被错误地序列化为类似 foO12 或 foO1 事实上 它们
  • 您的 InputStream 既不是 OLE2 流,也不是 OOXML 流

    我正在使用 Apache Commons 在 Google 应用程序引擎中上传 docx 文件 如本链接中所述文件上传 Servlet https developers google com appengine kb java csw 1
  • 在 Docker 中使用卷访问容器文件系统

    我是 Docker 的新手 正在尝试让卷正常工作 但有些事情不太正确 我已经在 Docker 上安装了 Wordpress 如 Docker 教程中所述 https docs docker com compose wordpress htt
  • 从包类型扩展命名空间

    我在这里尝试从包类型扩展命名空间 typings fullcalendar
  • Git 推送和弹出?即,结帐最后状态

    我正在编写一个 Bash 脚本 我想签出一个标签 然后签回到我开始的地方 I tried git co HEAD 1 但是当从 master 开始时 这会让我回到 master 的提交 SHA 但头是分离的 有没有类似的东西pushd po
  • 有没有办法安装 jar 本地 gradle 存储库,就像在 mave 中一样(maven install:install-file [重复]

    这个问题在这里已经有答案了 我以前只使用 maven 当项目需要一些在任何存储库中都没有的 jar 时 我可以使用以下命令安装它 mvn install install file Dfile
  • WIX 错误 - ICE03:不是有效的外键

    目前使用 WIX v3 6 3303 开发安装程序项目 我们正在使用 CruiseControl 在发布前自动构建和测试各种更改 这是我们从测试构建中返回的错误 errorLGHT0204 ICE03 Not a valid foreign
  • PyQt 的优雅命令行参数解析

    我正在编写一个新的 PyQt 应用程序 我正在尝试使用尽可能多的 PyQt API 来完成与程序和 ui 相关的所有事情 作为提高我对 PyQt 和 Qt 总体知识的一种手段 我的问题是 PyQt Qt 中是否有 API 可以优雅地处理命令
  • 在开发过程中绕过或关闭 [Authorize(Roles="")]?

    构建 MVC3 应用程序 TPTB 希望我们使用他们的自定义授权提供程序 然而 在开发过程中 这个身份验证提供程序有点麻烦 因为它要么在您关闭 重新启动浏览器之前给出错误 要么要求您在每次编译时重新登录 现在 我只是添加了
  • 查询范围不等于0

    我在 AX 2012 R2 环境中 我想向 HcmEmployment 表添加查询范围并过滤掉 LegalEntity 值 0 的行 以下代码在运行时失败 并出现 无效范围 异常 qbrLegalEntity qbds addRange f
  • 引用列的统计信息是否会阻止删除该列?

    我正在尝试一个非常简单的drop column陈述 alter table MyTable drop column MyColumn 并收到几个错误 消息 5074 16 级 状态 1 第 1 行统计信息 dta stat 12682516
  • QML 中日期和时间的正则表达式(DD/MM/YYYY hh:mm:ss)

    在QML2中我没有找到任何Calender控件 我已经实现了一个以日期和时间作为输入的控件 并且我使用正则表达式进行验证 该验证与日期 包括闰年和其他验证 相匹配 主要问题是空格 退格键也应该被视为有效 例如 s s s s s s s s
  • Flexbox - 首先在新行上换行中心项目

    我正在使用 Flex Box 创建传统的浮动项目列表 我有三个项目 结构如下 section div item one div div item two div div item three div section 与CSS section
  • Bash:将来自多个 xargs 并行进程的标准输出记录到单独的日志文件中

    我正在处理一个文本文件 其中包含由 xargs 生成的多个并行进程 我还需要将每个进程的标准输出捕获到单独的日志文件中 下面是一个示例 其中每个进程的输出被交错到一个文件中 这不是我想要的 理想情况下 每个日志文件应按文件行号进行编号 即
  • Tiff 中的 Jpeg(jpeg 压缩)

    如何从 JPEG 压缩的 TIFF 文件中提取图像 我已根据 StripOffests 和 StripBytesCount 字段读取字节 但无法从中加载图像 旧式 TIFF JPEG 压缩类型 6 基本上将普通 JFIF 文件填充到 TIF
  • Haven::read_sav 显示值标签而不是代码

    我在用着haven导入一个 sav文件到R 我想知道如何显示值标签而不是数字代码 在下面的示例中 我想显示物种名称而不是数字 1 2 3 library haven path lt system file examples iris sav