繁体   English   中英

anesrake 错误:“没有变量偏离超过 ____”

anesrake error: “no variables are off by more than ____” when they are

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我需要根据来自更广泛人群的四个人口特征的边际分布对样本中的观察结果进行加权。 我目前正在使用 package anesrake这样做。

人口信息存储在targets中。 这是一个包含 4 个元素的列表 - 我要根据每个受访者属性对样本进行加权的一个数字向量。 每个元素的行名代表不同的类别。 我在这里创建targets

quota_age    <- c(0.30, 0.33, 0.37)
quota_race   <- c(0.62, 0.12, 0.17, 0.5, 0.3)
quota_gender <- c(0.52, 0.48)
quota_ed     <- c(0.41, 0.29, 0.19, 0.11)

names(quota_age)    <- c("18 to 34", "35 to 54", "55+")
names(quota_race)   <- c("White non-Hispanic", "Black non-Hispanic", "Hispanic", "Asian", "Other")
names(quota_gender) <- c("Female", "Male")
names(quota_ed)     <- c("HS or less", "Some college", "Bachelors", "Advanced")

targets <- list(quota_age, quota_race, quota_gender, quota_ed)

调查文件 ( m1b ) 是一个数据框,其中包含人口统计信息和每个受访者的唯一 ID( 此处链接到谷歌表)。 这是前几个obs:

> head(m1b)
         ResponseId     quota_ed quota_age quota_gender         quota_race
1 R_3McITJbfcFuwc9x Some college  18 to 34       Female White non-Hispanic
2 R_2q3oeAbZgCZ5YcZ    Bachelors       55+       Female White non-Hispanic
3 R_YSVccSQ1xJ6zuDv     Advanced  35 to 54       Female White non-Hispanic
4 R_DubbKu7uJicbpQd Some college  35 to 54         Male White non-Hispanic
5 R_5zj5CNu598lCwRX    Bachelors       55+         Male              Other
6 R_21mPGFS7kHX2ELm     Advanced       55+       Female White non-Hispanic

使用anesrake package,我想构建一个名为weight的新变量,我可以在以后的分析中使用它来解释总体和样本边际分布之间的差异。

但是当我像这样调用anesrake function 时( pctlim参数非常小,无法夸大我的观点):

library(anesrake)

raking <- anesrake(inputter     = targets,
                   dataframe    = m1b,
                   caseid       = m1b$ResponseId,
                   choosemethod = "total",
                   type         = "pctlim",
                   pctlim       = 0.0000001)

我收到以下错误:

    Error in selecthighestpcts(discrep1, inputter, pctlim) : 
      No variables are off by more than 0.00001 percent using the method you have chosen, either weighting is 
unnecessary or a smaller pre-raking limit should be chosen.

尽管这在客观上是不正确的。 例如,考虑 quota_ed 目标:

> targets[[4]]
  HS or less Some college    Bachelors     Advanced 
        0.41         0.29         0.19         0.11 
> wpct(m1b$quota_ed)
    Advanced    Bachelors   HS or less Some college 
   0.1614583    0.3645833    0.1666667    0.3072917

任何关于我做错了什么的想法将不胜感激。 请参阅此链接到 RBloggers 帖子,了解我要模拟的例程。

1 个回复

要使 anesrake function 工作,可能需要执行以下步骤:

  1. 将您的权重变量转换为因子。 确保它们不包含空级别。
  2. 也从您的目标中排除空级别。 例如,假设您的数据中没有 55 岁以上的人。 然后,您应该从 a) quota_age 变量以及 b) 从您的 m1b 数据中删除该级别。
  3. 您的列表的第一级还需要使用应该加权的特定列名命名,即在您的命令添加后: names(targets) <- c("quota_age", "quota_race", "quota_gender", "quota_ed")
1 使用 ANESRake 加权(倾斜)数据时缺少级别

我有一个调查数据集和一些引用: 人口报价是: 在数据集中,我必须权重类别 5 缺失。 以下是数据集中变量的统计信息: 如果我执行倾斜,我会收到以下错误: 知道如何处理数据中缺失的级别吗? 这是引号的 dput 和一小部分数据 @Yuriy Saraykin 你是对的,现在 ...

2 惩罚 Python 纸浆优化 function 因为决策变量偏离特定常数

我正在努力最大化类似于PuLP 文档中提供的示例的混合问题。 但是,我想惩罚我的优化问题,因为我的一种成分与某个已知常数不同。 通过这种方式,我想强制求解器在诉诸于从设置的常量值更改我的关键变量之前更喜欢操纵其他决策变量(我也将其用作热启动中的起始值)。 我已经尝试修改目标 function 如下所 ...

3 Bash 变量超过 1000000 时出现语法错误

我有一个童话般的简单脚本。 这是一个文件: 这是我的脚本(它应该将第四列中的值乘以第六列中的值): 我遇到了一些非常意想不到的行为。 一旦总利润超过 100 万,我的脚本就会返回语法错误。 如果利润低于 100 万,则有效。 有效的输入文件示例 这是为什么? 我已经把头发拔了好几个小时了。 ...

2021-03-21 21:59:31 1 73   bash/ awk
4 使用超过 30 个预测变量时 MuMin pdredge() 中的错误

我遇到了以下错误,该错误仅在我将具有 30 个以上预测变量的模型传递给 pdredge() 时才会发生: sprintf(gettext(fmt, domain = domain), ...) 中的错误:格式“%d”无效; 对数字对象使用格式 %f、%e、%g 或 %a 我在通过 RSt ...

2019-11-30 09:25:04 2 403   r/ mumin
5 Anesrake - targetvec 中的错误 - dat:二进制运算符的非数字参数

第一次发帖 - R Studio 的新用户在这里。 我已经在我不断收到的错误下面做了一个代表。 我正在尝试收集调查数据以使其代表英国人口数据。 我有一组回复,并找到了分布数据以使其具有代表性。 我使用的 raking 程序是 anesrake,类似于: https://community.rstud ...

2021-02-05 12:37:05 0 22   r
6 为什么不编程时该变量的值超过256?

这是我的代码: 弹出的错误是d的值超过256。 但是,当我在调试器中运行此命令时,我看不到d超过256的任何情况。当d为255时,di变为负数,因此d + = di会减小d的值。 因此,d不可能超过255。因此,当调试器告诉我d刚达到256时,这令人困惑。 谁能向我解释为什 ...

2013-04-06 10:56:17 1 93   c#
8 当变量超过阈值时触发事件闪亮

我有一个连续变量(在传单地图上缩放),并且仅当此变量超过给定阈值时(仅在给定缩放级别之后),我才想激活某些动作(多边形绘图)。 这是一个类似的-但更容易复制的玩具问题: 问题是,由于Shiny的反应系统,即使我希望仅在超过阈值时才更新图(在玩具问题中)或地图(在实际问题中),该图仍 ...

9 当变量超过特定值时更改背景

我想做的是,当我用来确定该元素宽度的变量超过某个值时,给div一个另外的类。 当值超过70时,如何向适当的元素添加类? 如您所见,属于变量的元素与ID具有相同的名称。 这是我的代码: ...

10 输入变量超过1个字符时,为什么没有任何结果?

因此,这应该是歌曲的搜索字段。 例如,当我搜索单个字符(例如“ o”)时,结果是在任何位置都带有字母“ o”的歌曲。 例如,当我搜索多个字符(例如“ oo”)时,即使标题中带有“ oo”的歌曲,我也完全没有得到任何结果。 ...

2017-11-30 14:27:30 1 40   php/ sql
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM