将 R 文件转换为缺少字符串值的 Stata

2023-11-27

我在将 R 文件转换为 Stata 格式时遇到错误。我能够将数字转换为 Stata 文件,但当我包含字符串时,出现以下错误:

library(foreign)
write.dta(newdata, "X.dta")

Error in write.dta(newdata, "X.dta") : 
  empty string is not valid in Stata's documented format

我有一些字符串,如位置、名称等,其中缺少值,这可能会导致此问题。有办法处理这个问题吗? 。


我以前多次遇到过这个错误,而且很容易重现:

library(foreign)
test <- data.frame(a = "", b = 1, stringsAsFactors = FALSE)
write.dta(test, 'example.dta')

一种解决方案是使用因子变量而不是字符变量,例如,

for (colname in names(test)) {
  if (is.character(test[[colname]])) {
    test[[colname]] <- as.factor(test[[colname]])
  }
}

另一种方法是将空字符串更改为其他内容,然后在 Stata 中将其更改回来。

这纯粹是一个问题write.dta,因为 Stata 对于空字符串完全没问题。但是由于foreign被冻结了,对此您无能为力。

Update:(2015-12-04) 更好的解决方案是使用write_dta in the haven包裹:

library(haven)
test <- data.frame(a = "", b = 1, stringsAsFactors = FALSE)
write_dta(test, 'example.dta')

这样,Stata 就可以将字符串变量正确地读取为字符串。

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

将 R 文件转换为缺少字符串值的 Stata 的相关文章

  • RStudio 在临时目录中从 Rmarkdown 创建 PDF 文件

    我使用 RStudio 和 Rmarkdown 来创建报告 由于某种原因 使用 Knit 按钮会导致它仅在某个临时目录中创建 从命令输出来看 似乎 pandoc 本身被指示这样做 我觉得这很奇怪 usr lib rstudio bin pa
  • ggplot:按组自动化的百分位线

    我找到了dplyr gt 运算符有助于简单的 ggplot2 转换 无需求助于ggproto 这是必需的ggplot2 扩展 http docs ggplot2 org dev vignettes extending ggplot2 htm
  • R:变换不规则时间字符串

    我有两个不同的时间序列 来自不同的数据帧 具有不同的不规则格式 但问题是相同的 我只想提取小时 分钟 秒和毫秒 时代系列看起来像这样 ts1 08 27 23 445 08 27 24 280 08 27 25 115 I tried st
  • 来自 data.frame 每一列的随机样本

    我想从 a 的每一行中抽取随机样本data frame独立于其他行 这是一个例子 此代码为每行选择相同的列 但我需要为每行独立选择列 library plyr set seed 12345 df1 lt mdply data frame m
  • 返回带有参数的函数的函数

    创建一个应返回包含原始函数参数的函数时 我应该如何处理 例如考虑这个函数 a lt function value function x x value 我希望它返回我在结果函数的参数中指定的值 如下所示 b lt a 3 gt b gt f
  • 根据值的运行总计创建组

    我的数据在一个变量 Y 上是唯一的 另一个变量 Z 告诉我每个 Y 中有多少人 我的问题是我想从这些 Y 和 Z 创建 45 人的组 我的意思是 每当运行总计Z 达到 45 创建一组 然后代码继续创建下一组 我的数据看起来像这样 ID X
  • 正则表达式挑选括号之间的一些文本[重复]

    这个问题在这里已经有答案了 可能的重复 提取 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
  • R 中 write.table 文件名中的变量

    请帮助我解决一个幼稚的问题 已经用谷歌搜索 并尝试了很多变体 但失败了 如何使用 R 中 write table 的文件名中的变量保存文件 脚本循环遍历 dir 中的文件 应用一些函数 然后将结果保存到具有相同名称但附加结尾的文件中 谢谢
  • readRDS() 加载额外的包

    什么情况下会出现readRDS R 中的函数尝试加载包 命名空间 我很惊讶地在新的 R 会话中看到以下内容 gt loadedNamespaces 1 base datasets graphics grDevices methods sta
  • Dplyr 多重滞后整齐评估?

    我试图在 dplyr 中使用尽可能少的代码来实现多个滞后 同时坚持整洁的评估 以下标准评估 SE 代码有效 if require dplyr install packages dplyr library dplyr a as tibble
  • 仅在具有重复块名称的另一个 Rmarkdown 文档中运行一个 Rmarkdown 文档中的代码

    我正在 Rmarkdown 中编写一系列相互补充的报告 我想将上一份报告的结果纳入我目前正在编写的报告中 我看到其他建议使用的问题purl从 Rmarkdown 文档中提取 R 代码然后运行它 所以我尝试了以下操作 r read previ
  • 如何判断某个软件包是否已经安装?

    当我安装 yaml 包时 如果之前已经安装过 RStudio 则会弹出一条烦人的错误消息 如何判断该软件包是否已安装 以便我可以在代码中决定是否安装该软件包 该消息位于弹出窗口中 内容如下 此安装将更新的一个或多个软件包 当前已加载 在更新
  • 当子集长度为零时,如何简洁地处理子集?

    从向量中排除元素x x lt c 1 4 3 2 我们可以减去位置向量 excl lt c 2 3 x excl 1 1 2 这也是动态工作的 excl lt which x which max x gt quantile x 25 1 2
  • 如何将 mcmc.list 转换为 bugs 对象?

    我正在使用rjagsR 库 功能coda samples产生一个mcmc list 例如 来自example coda samples library rjags data LINE LINE recompile LINE out lt c
  • 将 csv 文件上传到shinyApps.io

    我的应用程序在本地运行良好 并且我能够成功地将应用程序部署到shinyapps io 服务器 但是当我尝试使用shinyapps URL 在浏览器中加载应用程序时 收到以下错误消息 错误对象 数据 不是成立 我认为这是因为 data 变量从
  • 在 R 中收集多组列[重复]

    这个问题在这里已经有答案了 我有一个宽数据框 需要将其收集或融化成一个高数据框 我遇到的问题是我有几组列需要保持关联 分组 我每个表单提交有 2 个用户 每个用户有 3 列数据 我想将这 6 列基本上以 3 组的形式堆叠起来 以便每个用户都
  • 使用插入符和方法 = gamLoess 进行训练时 R 崩溃

    当我运行下面的代码时 R 崩溃了 如果我在训练调用中注释掉tuneGrid行 就不会发生崩溃 我已经用另一个数据集尝试过此操作 但仍然使 R 崩溃 崩溃消息是 R 会话中止 R遇到致命错误 会话被终止 开始新会话 代码是 library s
  • DT数据表中的列对齐

    In my shiny我正在使用的应用程序datatable函数来自DT库构建一个表格并希望将列居中对齐 我可以用formatStyle column textAlign center 但它只影响列体而不影响标题 我们必须设置columnD
  • R - 如何为数据范围内的缺失值绘制条形图零点?

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

随机推荐

  • C# 中如何知道 GraphicsPath 是否包含点

    我在用着 NET绘制图表 并且我想在用户单击对象时突出显示对象 当一个图形完全包含在一个矩形中时 这很容易 if figure Bounds Contains p bounds is a rectangle 但如果这个数字很复杂 我不知道如
  • 强制 HTML5 YouTube 视频

    关于YouTube API 博客他们正在尝试新的HTML5视频播放器 显然要在 html5 中播放视频 您必须使用 iframe 嵌入代码 但如果客户还没有加入HTML5 试用版 即使客户端的浏览器支持 HTML5 视频 播放器也会自动退回
  • 记录详细程度 mysql 5.7

    默认记录错误详细程度为 3mysql 5 7 我正在尝试将其设置为2级 in the cnf file但我不确定语法 全局变量log warnings设置详细程度 因服务器版本而异 下面的代码片段说明了 SELECT log warning
  • 如何从 javascript 渲染部分内容

    我有一个选择 根据不同选择中的选择进行填充 为此 我按照 Railscast 88 动态选择菜单 中的建议进行操作 但现在我需要渲染部分内容 传递在每个选择中选择的值 我不知道如何简单地从 select 中的 onchange 事件触发方法
  • LINQ to SQL - where 子句中的可为空类型

    我有一个表 其中的列具有空值 当我尝试查询该列为空的记录时 这有效 var list from mt in db MY TABLE where mt PARENT KEY null select new mt NAME 这不会 int id
  • 不会导致“刷新未处理集合”错误的 NHibernate 审计跟踪

    Ayende 有一篇关于如何为 NHibernate 实现简单审计跟踪的文章 here 使用事件处理程序 不幸的是 从评论中可以看出 他的实现导致抛出以下异常 集合xxx没有被flush 处理 问题似乎是隐式调用ToString在脏属性上
  • Jade - 添加动态包含的方法

    我想在玉模板中执行类似以下操作 include page content view template 因为这行不通 所以我就这样结束了 if view path include page content home else if view
  • 在 Azure 网站上禁用池回收

    我在 Azure 网站上部署了一个网站 我想禁用池回收 如果您有常规 IIS 安装 则可以通过将 回收 gt 禁用重叠回收 设置为 true 在应用程序池高级设置中禁用此功能 然而 我似乎无法在天蓝色管理控制台中找到此选项 也没有在网上找到
  • 在 Ruby on Rails 中连接 Sql 服务器

    我是新手ruby on rails 我想知道如何连接Sql server到 Rails 应用程序 我正在 Windows 环境中使用 RoR 有没有建立连接的链接SQL Server in ROR 我还没有在 Windows 上这样做过 但
  • 从 Facebook Graph API 获取超过 25 张照片

    我正在尝试使用 Graph API 检索用户被标记的所有照片 但我只能获取最新的 25 张 是否有可能获得更多 如果可以 如何获得 您是否尝试过添加限制和偏移参数 引用文档 Paging 查询连接时 有几个有用的参数可让您过滤和分页连接数据
  • 在 Google 地图上加载标记的自定义信息窗口时,iOS 应用程序冻结

    我正在尝试在 iOS 应用程序上的 Google 地图标记上实现自定义信息窗口 正如所做的那样here and here例如 我创建了一个 xib 和一个UIView为它上课 它被称为CustomInfoWindow xib班级是Custo
  • C#与Excel互操作问题,保存excel文件不流畅

    我可以打开并写入 Excel 文件 但是当我尝试通过传递路径来保存文件时 保存操作会提示 保存 对话框 我期待它能够完全将文件保存在指定路径 代码如下 excelApp Save exportToDirectory excelApp Qui
  • C# 中的三元数受到限制有什么充分的理由吗?

    Fails object o 1 2 1 test 成功 object o if 1 2 o 1 else o test 第一条语句的错误是 无法确定条件表达式的类型 因为 int 和 string 之间没有隐式转换 为什么需要这样 我将这
  • 将本地 Git 存储库从 IDE 迁移到 Visual Studio Online

    我在 Visual Studio Online 上创建了一个新的团队项目 已在 Visual Studio 2013 中连接到该项目 使用 IDE 我将本地 Git 存储库 从 GitHub 上拉下来 克隆到本地 Git 存储库部分 当我浏
  • 直接从字节数组裁剪图像

    我有一个字节数组 其中包含一个图像 我想将其保存为裁剪后的 我的工作方法是 获取字节 使用 BitmapFactory decodebytearray 将其转换为位图 使用 createbitmap sourceBitmap x1 y1 w
  • 在 SQL Server 2005 中创建新的数据库用户

    如何在sql server 2005中创建一个带有密码的新数据库用户 我需要在连接字符串中使用此用户 密码 例如 uid user pwd password CREATE LOGIN user WITH PASSWORD password
  • Python 将 Adblock 与 Selenium 和 Firefox Webdriver 结合使用

    我的目标是通过 Python 将 Adblock Plus 与 Selenium 结合使用 我已经能够将其加载到加载扩展程序的位置 但默认情况下它不包含默认过滤器 EasyList 这是我到目前为止所拥有的 from selenium im
  • 比较两个通用数字的值

    我想与两种类型的变量进行比较T extends Number 现在我想知道两个变量中哪个大于另一个或相等 不幸的是我还不知道确切的类型 我只知道它将是java lang Number 我怎样才能做到这一点 EDIT 我尝试了另一种解决方法T
  • 从 docker 注册表 v2 中删除镜像

    Docker Registry v2 有一个 API 端点来删除镜像 DELETE v2
  • 将 R 文件转换为缺少字符串值的 Stata

    我在将 R 文件转换为 Stata 格式时遇到错误 我能够将数字转换为 Stata 文件 但当我包含字符串时 出现以下错误 library foreign write dta newdata X dta Error in write dta