如何获取大型调查数据集的 svydb R 包以返回标准错误

2023-12-14

很高兴看到 Charco Hui 将 Thomas Lumley 的实验性 sqlsurvey 包复活为 svydb。在 R 中处理大型调查数据集可能是一个很好的工具。

不过,在 svydb 计算标准误差时遇到了一些问题。这个问题与我在 sqlsurvey 中遇到的问题非常相似。在运行 Mojave、R 版本 3.5.1 和 MonetDB Aug 2018-SP1 版本的 Mac Pro 上进行的定期调查中,类似的过程运行良好

对于健康研究人员和流行病学家来说,该软件包可能是一个非常重要的工具,因此希望我做的事情明显错误,并且很容易解决这个问题。

下面是一个基于 BRFSS 数据集随机抽取的可重现示例。

# create data
dat<-data.frame(var1=c(6, 5, 6, 6, 6, 6, 3, 3, 2, 6, 3, 4, 6, 6, 3, 6, 5, 5, 4, 5, 4, 4, 6, 6, 4, 3, 4, 4, 3, 5, 5, 3, 6, 1, 6, 3, 5, 3, 4, 2, 5, 2, 6, 5, 6, 2, 2, 4, 3, 6, 6, 6, 3, 6, 2, 3, 4, 1, 4, 4, 2, 6, 5, 4, 6, 2, 6, 2, 6, 6, 6, 5, 4, 2, 5, 3, 4, 4, 5, 1, 2, 6, 6, 6, 2, 6, 4, 4, 2, 3, 6, 3, 3, 6, 2, 6, 5, 4, 6, 2),
var2=c(NA, NA, 88, 88, 88, NA, 1, 88, 88, NA, NA, 2, NA, NA, 88, NA, NA, 88, NA, 88, 88, 88, 88, NA, 88, 88, 88, NA, 88, NA, NA, 88, NA, NA, NA, 88, NA, NA, 4, NA, 88, NA, NA, 8, NA, NA, NA, 88, 88, NA, NA, NA, NA, NA, 88, NA, 88, 88, NA, 88, NA, 88, NA, 11, NA, 1, NA, 4, 88, 7, NA, 88, NA, NA, 88, 88, NA, 88, NA, 88, 1, 88, 88, NA, 88, NA, NA, 88, 29, 88, 88, NA, 88, NA, 88, NA, 88, NA, NA, 88),
strat=c(25011, 12032, 19101, 22011, 24011, 53311, 8011, 25061, 8012, 35031, 32022, 18022, 34101, 19061, 5011, 24011, 34101, 24011, 19021, 31031, 37111, 5012, 25011, 53201, 15052, 22011, 37261, 27011, 30031, 44031, 26011, 42011, 37121, 25041, 39082, 24032, 38011, 15012, 24012, 35062, 16071, 42042, 27011, 45062, 50011, 25041, 56012, 25041, 9022, 55031, 55021, 19091, 35022, 28011, 34101, 40021, 9021, 23031, 34041, 78021, 2021, 30021, 1011, 9012, 40032, 18042, 20011, 49041, 24011, 53111, 16012, 20011, 22011, 25042, 49122, 53352, 53091, 9021, 19071, 29021, 18021, 37131, 46041, 8011, 42031, 47121, 46051, 17011, 42021, 72061, 34101, 25062, 35062, 37061, 55062, 46031, 45041, 28011, 37211, 12021),
psu=c(2006092024, 2006018204, 2006024879, 2006009844, 2006054713, 2006074840, 2006014252, 2006022459, 2006030518, 2006033744, 2006004188, 2006029456, 2006028186, 2006021413, 2006049813, 2006007831, 2006166137, 2006030867, 2006027180, 2006027225, 2006029188, 2006004573, 2006000994, 2006064527, 2006011204, 2006007744, 2006016792, 2006020891, 2006039237, 2006007268, 2006019976, 2006065941, 2006074498, 2006008616, 2006018805, 2006046669, 2006018600, 2006013675, 2006075607, 2006008605, 2006020846, 2006022428, 2006033687, 2006020260, 2006035555, 2006009957, 2006006278, 2006103150, 2006048853, 2006015663, 2006001191, 2006023333, 2006002411, 2006035682, 2006041137, 2006011947, 2006042893, 2006025836, 2006099337, 2006036076, 2006016300, 2006028942, 2006013850, 2006064497, 2006026877, 2006020508, 2006020272, 2006023852, 2006012831, 2006051597, 2006033700, 2006044908, 2006003444, 2006072406, 2006021862, 2006081285, 2006133751, 2006019507, 2006031458, 2006019504, 2006002030, 2006075571, 2006020267, 2006040619, 2006125145, 2006008496, 2006051043, 2006031048, 2006106217, 2006004721, 2006148449, 2006017795, 2006008827, 2006003243, 2006009762, 2006044530, 2006029068, 2006019002, 2006013326, 2006015464),
wt= c(131.167091, 1135.222016, 462.911082, 237.434588, 222.090249, 8.867523, 367.057462, 635.047502, 734.512583, 168.266313, 237.236438, 794.324159, 896.016179, 453.886381, 516.676601, 222.090249, 370.880284, 266.860031, 178.231943, 127.053275, 286.216069, 212.409224, 196.986648, 52.223519, 13.850239, 176.044166, 290.372567, 517.028007, 79.796161, 174.701770, 829.008988, 2514.492945, 177.300719, 190.845451, 270.146986, 261.739684, 45.144276, 276.447180, 1704.022745, 102.473540, 168.798958, 42.614573, 321.460974, 139.006541, 22.110006, 50.144119, 60.941799, 42.225301, 704.172192, 1094.072745, 423.243864, 424.056478, 256.796474, 222.921805, 940.041214, 191.560779, 280.303505, 959.310457, 401.479694, 27.638152, 84.411858, 111.955653, 661.796967, 72.884007, 118.783933, 1905.071998, 214.932923, 539.094181, 415.230283, 91.327212, 217.747861, 366.950758, 378.620855, 150.430028, 594.726292, 189.966155, 74.510093, 280.303505, 474.297391, 5389.787617, 753.892676, 502.921582, 59.307656, 444.877512, 51.007590, 446.469588, 32.298617, 2518.461812, 76.319144, 819.303078, 396.857545, 476.354501, 97.705354, 168.923737, 1179.296136, 34.909445, 275.003257, 410.288302, 147.335207, 723.221948))

# analysis in survey works
library(survey)
options(survey.lonely.psu="remove")
svyDat1<-
svydesign(
id=~psu,
strata=~strat,
data=dat,
weights=~wt,
)


svymean(~var1, svyDat1, se=T, na.rm=T)
#          mean     SE
# numVar 79.286 0.3439

svymean(~var2, svyDat1, se=T, na.rm=T)
#        mean     SE
# var2 70.171 1.0314

# analysis in svydb does not work
library(devtools)
install_github("chrk623/svydb")
library(svydb)

svyDat2 = svydbdesign(st="strat", wt="wt", id="psu", data=dat)
svydbmean(x = var1, design = svyDat2 , num = T)
#        Mean SE
# var1 3.6063 NA
svydbmean(x = var2, design = svyDat2 , num = T)
#        Mean SE
# var2 70.171 NA


# try with database connection returns more informative (?) error message 
require(MonetDBLite)
require(DBI)
require(dbplyr)
con = dbConnect(MonetDBLite())
dbWriteTable(con, "dat", dat)
dat.db = tbl(con, "dat")
svyDat3 = svydbdesign(st = strat , wt = wt,id = psu , data = dat.db)
svydbmean(x = var1, design = svyDat3 , num = T)
# Error in .local(conn, statement, ...) :
#   Unable to execute statement 'CREATE TEMPORARY TABLE "auugiyqyip" AS SELECT "sum(scaled)"
# FROM (SELECT SUM("scaled") AS "sum(scale...'.
# Server says 'MALException:batcalc./:22012!division by zero. '.
# In addition: There were 12 warnings (use warnings() to see them)

svydbmean(x = var2, design = svyDat3 , num = T)
# Error in .local(conn, statement, ...) :
#   Unable to execute statement 'CREATE TEMPORARY TABLE "yxqvidpdbx" AS SELECT "sum(scaled)"
# FROM (SELECT SUM("scaled") AS "sum(scale...'.
# Server says 'MALException:batcalc./:22012!division by zero. '.

正如该程序的作者 Charco Hui 所指出的,svydb 已更新为允许 svydb.lonely.psu = "remove" 作为选项。这解决了问题。

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

如何获取大型调查数据集的 svydb R 包以返回标准错误 的相关文章

  • 如何在R中得到一个大的稀疏矩阵? (> 2^31-1)

    我使用一些 C 代码从数据库中获取文本文件 并从该文件创建 dgcMatrix 类型稀疏矩阵Matrix包裹 我第一次尝试构建一个具有超过 2 31 1 个非稀疏成员的矩阵 这意味着稀疏矩阵对象中的索引向量也必须比该限制长 不幸的是 向量似
  • 有没有办法在 RStudio 中调试 RScript 调用?

    假设我从命令行运行 R 脚本 如下所示 Rscript prog R x y z 我想检查某一行的代码 目前 我无法在 RStudio 中以交互方式调试它 因为我不知道如何传递参数 由于它设计为从命令行运行 因此如何通过命令行 RStudi
  • 在 R 中进行 Cox 回归后,将预测危险比列添加到数据帧中

    在 R 中运行 Cox PH 回归后 我需要在数据框中添加预测风险比的列 数据框是面板数据 其中 numgvkey 如果公司标识符 和年龄是时间标识符 您可以从此链接下载一小部分日期 https drive google com file
  • 将密度曲线拟合到 R 中的直方图

    R中有没有可以将曲线拟合到直方图的函数 假设您有以下直方图 hist c rep 65 times 5 rep 25 times 5 rep 35 times 10 rep 45 times 4 看上去很正常 但其实是歪曲的 我想拟合一条倾
  • 从网络源获取 R 中的数据作为数据框

    我正在尝试使用 RCurl 包将一些空气污染背景数据作为 data frame 直接加载到 R 中 该网站有 3 个下拉框 用于在下载 csv 文件之前选择选项 如下图所示 我试图从下拉框中选择 3 个值 并使用 下载 CSV 按钮将数据作
  • 使用 ggplot2 修改点子集的形状

    我正在尝试绘制一个沿大量维度变化的大型散点图 这是我的起始情节 p lt ggplot mtcars aes wt mpg shape cyl colour gear size carb geom point 使用mtcars数据集 我只是
  • 分离并重新附加“tools:rstudio”

    又名玩火 以下不起作用 rstd obj lt as environment tools rstudio detach tools rstudio attach rstd obj name tools rstudio 好吧 它似乎有效 但随
  • 将 JSON URL 转换为 R 数据帧

    我在将 JSON 文件 从 API 转换为 R 中的数据帧时遇到问题 例如 URL 我尝试了 S O 的一些不同建议 包括将json数据转换为R中的数据框 https stackoverflow com questions 28683769
  • 如何更新条件公式?

    让我直接进入示例 考虑以下等式 frml lt formula y a b x z 使用这样的公式规范 例如和AER ivreg 我想更新这个公式 使其显示为 frml2 lt y a b c x z w 但是 我不确定如何更新条件标志之前
  • 当每个记录都是一个段落并且某些记录有 4 个字段而其他记录有 6 个字段时,如何将文本文件读入 R

    如何读取文本文件 其中每条记录都是一个段落 每个换行符表示单独的字段 复杂的是 有些记录有 4 行 有些记录有 6 行 当字段数量的差异为 1 时 DWin 解决了我的问题 但当字段数量差异为 2 时 一切都崩溃了 你可以有一个在这里看看他
  • 将 sf voronoi 多边形裁剪到边界框时出错

    我正在尝试将 voronoi polygons 使用 sf package 创建 剪辑 到边界框 但它引发了我无法定义的错误 我对 R 的空间世界不太有经验 感谢所有帮助 样本数据 stations lt structure list ST
  • 根据另一列中的键累积一列中的值时出现问题

    我有一个看起来像这样的数据框 我需要使用 PROJ ID 列中的字符串创建一个新的值列 并形成 PROJ NAME 列中的值字符串 这里提供的解决方案 根据 r 中另一列的键累积一列中的值 https stackoverflow com q
  • 逻辑回归/二项式的 glmnet 误差

    当尝试将 glmnet 与 family binomial 配合以进行逻辑回归拟合时 出现此错误 gt data lt read csv DAFMM HE16 matrix csv header F gt x lt as data fram
  • 如何将此“for”循环转换为向量解

    这个问题与 将嵌入其他文本的长州名称转换为两个字母的州缩写 https stackoverflow com questions 25582518 convert long state names embedded with other te
  • 使用 R 进行项目组织 [重复]

    这个问题在这里已经有答案了 可能的重复 统计分析和报告撰写的工作流程 https stackoverflow com questions 1429907 workflow for statistical analysis and repor
  • R:将 JSON 时间格式转换为 POSIX

    我有一个 JSON 字符串 并将其放入数据框中 我能够做到这一点 但我在使用 apply 函数之一将所有时间字符串转换为 POSIX 格式时遇到问题 See here https stackoverflow com questions 90
  • 使用 dplyr::filter 的整洁方式是什么?

    使用下面的函数调用foo c b 输出以内联方式显示 正确的写作方式是什么df gt filter x gt x 我已经包含了一个使用的示例mutate以整洁的风格与之对比filter foo lt function variables x
  • 使用predictNLS围绕R中的拟合值创建置信区间?

    我想使用 R 中 propogate 包中的 PredictNLS 围绕一大组拟合值构建置信区间 作为示例 我将使用它们在函数描述中引用的数据集 https rdrr io github anspiess propagate man pre
  • GGPLOT2:如何在 ggplot() 脚本中绘制特定选择

    这是一个名为的大型数据集的峰值P 其中有 10 个优惠 CS 有不同的商店 SHP 具有多个数值 数据集列出了按周排序的它们 WK 2 tm 52 它创建一个大文件 仅前 6 行出现峰值 WK MND CS SHP RevCY RevLY
  • 非闪亮上下文中的反应式对象绑定

    实际问题 你怎样才能近似反应性环境 行为 http shiny rstudio com tutorial lesson6 建立者shiny http shiny rstudio com函数 或者甚至可能在一个函数中使用这些函数无光泽上下文以

随机推荐

  • 在 C# 中调用另一个窗体上的方法

    我正在构建一个基本的图像编辑器 在我的应用程序中 如果用户想要调整图像大小 则会弹出一个新表单 并要求用户输入图像的新宽度和高度 public partial class Form1 Form private void resizeTool
  • MySQL外键约束、级联删除

    我想使用外键来保持完整性并避免孤儿 我已经使用innoDB 如何创建 DELETE ON CASCADE 的 SQL 语句 如果我删除一个类别 那么如何确保它不会删除也与其他类别相关的产品 数据透视表 categories products
  • UIScrollView - 显示滚动条

    可能很简单 有谁知道如何让 UIScrollView 的滚动条不断显示 当用户滚动时它会显示 以便他们可以看到他们所处的滚动视图的位置 但我希望它不断显示 因为用户无法立即明显看出滚动可用 任何建议将不胜感激 不 你不能让它们总是显示 但你
  • 如何在 iframe 中嵌入 Facebook 页面?

    对于我的应用程序 我需要将 Facebook 页面嵌入 iframe 中 以下是 html 代码 但它不起作用 知道为什么以及如何规避吗 我相信 Facebook 是一个反框架脚本 它会检测它是否在 iframe 内 并显示一个徽标 当您单
  • 是否可以将对象初始化为具有属性的函数?

    是否有可能将对象初始化为具有属性的函数 像这样的东西 var a gt return I am function prop1 I am property in function object prop2 10 alert a gt I am
  • 如何强制 WebSphere AS 8 使用特定的 JSF 实现?

    我有一个使用 WAS 6 1 开发的旧企业应用程序 现在我的公司正在尝试在 WAS 8 中执行该应用程序的实现 但是我在渲染 JSF 内容时遇到了麻烦 有一些链接在单击 JS 调试器时显示 Uncaught ReferenceError m
  • 安全沙箱违规 Flash AS3

    我正在尝试通过我的 Flash 项目播放 Youtube 视频 视频播放了 但我收到以下错误 它破坏了我项目的其余部分 我找不到任何有这个确切错误的地方 我一直试图理解它在告诉我什么 但我就是无法理解它 错误 Security Sandbo
  • excel转pdf忽略打印区域并调用打印机

    此循环遍历学生列表 但在打印区域上失败 该打印区域在导出行中设置和编码 它为每个学生打印 130 页 而实际上应该只有一页 所有打印机都会被调用 打开一个对话框 登录 6 密码 并停止宏 打印机是网络上的工作打印机 但并不总是可用 有没有办
  • SSMS 能否显示 Azure Synapse 中的实际执行计划?

    我正在研究 Azure Synapse 在专用 SQL 池数据库中 SSMS 的 实际执行计划 被禁用 在无服务器池数据库中 SSMS 显示 不支持设置统计信息 在SQL执行中 我忘记截图了 禁用实际执行计划 的图像是 4 通过选择 执行
  • 根据位置从字符串中删除字符

    有没有一种简单的方法可以从字符串中删除特定字符 在下面的示例中 我想从向量的每个元素中删除最后三个字符 string lt c Autauga AL Bald Win Av Barbour AL Bibb AL Blount At Bull
  • 填充曲线和对角线之间的区域

    你能帮我解决这个问题吗 我想知道如何填充曲线和对角线 连接 X min Y min 到 X max Y max 的线 之间的区域 例如 在下图中我们如何填充上面的区域红色对角线和蓝色下方的区域 提前感谢您的时间和考虑 import nump
  • 打开 js 变量的保存文件对话框

    在我的网络应用程序中 我需要为用户提供将 js 变量保存为文件的选项 当用户单击下载时 应用程序会要求他保存文件 最好是保存为 js 文件 与谷歌文档类似 您可以保存文件 javascript可以通过这种方式传递它的变量吗 查看下载这正是允
  • 在 Excel 中查找范围的第一个非空白单元格的标题索引的公式?

    我有这张表 可以将其视为基本的自定义甘特图 我想根据同一行范围内第一个填充的单元格及其相应列 第 1 行 的标题值 用开始日期填充 A 列 显示我的预期结果比实际编写更容易 非常感谢您的帮助 在A2中尝试复制这个公式 IF COUNTA B
  • 安卓支持所有屏幕尺寸吗?

    我知道这个问题已经被问过很多次了 但我找不到针对我的查询的最佳解决方案 我遵循了android开发者支持中给出的每一个步骤 支持多屏 将不同尺寸的图像放在不同的文件夹中 为设备屏幕制作不同的布局文件夹 但在 4 7 英寸到 5 0 英寸的设
  • JAXB - xsd:all 内具有无限 maxOccurs 的元素

    假设我有以下 java 类 该类映射到 REST 服务的请求主体以搜索用户 XmlRootElement name SearchParams XmlType propOrder public class SearchParams priva
  • 实体框架和自我跟踪实体与 POCO

    如果我想使用实体框架 4 作为我的数据层 并希望将我的实体发送到另一层 无论是通过 WCF 还是其他机制 然后希望能够更新实体并将它们发回以进行更新 删除 插入最好使用自跟踪实体还是 poco 对象 如果可能的话 我宁愿使用 POCO 对象
  • 在 ggplot 中绘制多个时间序列

    我有一个由 10 个变量组成的时间序列数据集 我想创建一个时间序列图 其中每个 10 个变量随着时间的推移以不同的颜色绘制在同一个图表上 值应位于 Y 轴上 日期应位于 X 轴上 点击这里对于数据集 csv 这是我一直在使用的 可能是错误的
  • 如何阅读这个 LESS css?

    我正在尝试找出 Joni Korpi 的 Frameless CSS 无框架网格 http framelessgrid com 并且我很难阅读他拥有的 less 文件 我对 LESS 使用变量有一个基本的了解 所以我知道 column 48
  • 安装 Windows 10 周年更新后无法启动 Android 模拟器

    我刚刚安装了 Windows 10 周年更新 现在无法启动 Android 模拟器 Android Studio 显示以下消息 Android Emulator is incompatible with Hyper V 但如下图所示 Hyp
  • 如何获取大型调查数据集的 svydb R 包以返回标准错误

    很高兴看到 Charco Hui 将 Thomas Lumley 的实验性 sqlsurvey 包复活为 svydb 在 R 中处理大型调查数据集可能是一个很好的工具 不过 在 svydb 计算标准误差时遇到了一些问题 这个问题与我在 sq