问题标签 [desctools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
743 浏览

c++ - 在 R 和 Rcpp 中找到最大的 n 个唯一值及其频率

我有一个数字向量 v (已经省略了 NA)并想要获得第 n 个最大值及其各自的频率。

我发现 http://gallery.rcpp.org/articles/top-elements-from-vectors-using-priority-queue/ 非常快。

然而,关系将不被尊重。实际上我不需要索引,返回值也可以。

我想得到的是一个包含值和频率的列表,比如:

获取唯一向量、表格或(完整)排序都不是一个好主意,因为与 v 的长度(可能很容易 >1e6)相比,n 通常很小。

到目前为止的解决方案是:

嗯,DescTools 仍然是最快的,但我确信 Rcpp 可以显着改进它(因为它是纯 R)!

0 投票
1 回答
5502 浏览

r - R中的类内相关系数,如何处理NA并且评估者和主题之间没有太多重叠

我一直在尝试对k x m矩阵中的评分者之间的一致性进行 icc(类内相关系数)测试。其中k是行(研究对象),m是评分者。它是一个 70 x 70 矩阵,但它来自随机评估者,其中每个主题仅评估了约 6 次(范围 2-13)。

由于群体很大,研究对象和评估者没有太多重叠。

这意味着我的矩阵充满了 NA:

主题___Rater1___Rater2___Rater3___Rater4___... Rater70

主题 1 ____ 3 _____ 1________不适用_____不适用 ____ ...

主题2_____NA ____5 _______NA______2 _____ ...

主题3_____6 _____NA_______3 _______5_____ ...

...主题70

我试过 psych 图书馆发现 2 个主要问题:

  • 首先,无法使用 na.rm (或类似的)功能。所以,我不知道如何处理 NA

  • 其次,我无法定义测试类型(ICC1、ICC2 或 ICC3)。即使 R 中的手册和帮助根据 Shrout 和 Fleiss 说明了 ICC 类型,我也找不到用于确定所使用类型的示例或函数。

此行不起作用:

Data_O<-na.omit(iccOTE) icc1<-icc(Data_O, na.rm=TRUE, type = c("agreement"), unit = c("single"), r0 = 0, conf.level = 0.95)

--------- 所以:我切换到 DescTools 库。这在使用 na.rm 函数时很有帮助。我尝试了以下代码:

ICC(Data_O, type = c("ICC1k"), conf.level = 0.95, na.rm = TRUE)

我收到以下错误: stack.data.frame(data.frame(ratings)) 中的错误:未选择向量列

我试图寻找错误的含义,但找不到它。另外,我对图书馆如何使用k有点困惑。我在哪里可以找到信息来了解在此示例中是否将k用作 (n-1),其中k是按案例(行)[k=6] 计算的,还是通常根据完整矩阵 [k=70] 计算的?在第二种情况下,这将是完全不准确的。

谢谢!!!

0 投票
2 回答
2647 浏览

r - R:修剪变量并将其添加到数据框中

我是 R 初学者。我想使用“DescTools”包的 Trim 函数来修剪变量。这适用于:

这会创建一个对象,但是,我想将它添加到我的数据框 mydata 中。当我尝试这样做时

R 给了我一个错误,因为 mydata$a_trim 的行数少于数据框(显然,因为它是一个修剪变量)。我怎样才能做到这一点?

感谢您的耐心和帮助!

0 投票
1 回答
126 浏览

r - 使用包 DescTools 的 Gini 函数的整数溢出错误

我想使用Gini()from计算基尼系数DescTools(因为它提供了一种简单的方法来计算具有权重、置信区间等的“无偏”基尼系数),但是当我将此函数与“大”样本一起使用时会出现一些错误。这是一个在我这边产生错误的简单示例:

警告消息:1:在 sum(x * 1:n) 中:整数溢出 - 使用 sum(as.numeric(.)) 2:在 n * sum(x) 中:整数溢出产生的 NA

我不知道是什么问题,有什么想法吗?我正在使用 R 版本 3.3.1 (2016-06-21)——“你头发上的虫子”和 RStudio 版本 0.99.903 和“DescTools”版本 0.99.17。
编辑:哦,好吧,将我的数字从整数转换为数字似乎可以完成这项工作(但我仍然不明白,无论如何......):

0 投票
1 回答
600 浏览

r - 通过 ID 号确定重叠日期范围的存在和范围 - 两个数据框

我有两个数据框如下。它们的长度不等:

实际数据集的范围从 10,000 到 1,000,000+ 行。

中的每一行adm指的是离散的住院。注:id为患者身份证号,而admDtsepDt分别指入院和出院日期。一些患者有多次入院。

中的每一行代表admDx一个患者:id是患者的 ID 号(与 中提供的一致adm),而birthDtdxDt分别是患者的出生日期和诊断日期。

我正在进行一些纵向/时间序列分析,并想确定患者在诊断前后的不同时间段是否住院。为简洁起见,这个问题与诊断前后的一个月有关。理想情况下,我想:

  • 创建一个二分变量(“是”/“否”),指示给定患者是否在该时间段内住院(即,我不关心他们是否在该时间段开始之前入院或是否出院时间段偏移后)
  • 计算该时间段内每位患者住院的次数
  • 计算该时间段内每位患者住院的时间(天数)

我已经在几天内查看了许多帖子(例如,R 时间段重叠通过 id 和重叠日期范围加入数据框如何显示 R 中两个日期之间发生的事件);但是,它们似乎都没有结合我感兴趣的三个方面(计算重叠日期之间的时间;多个数据框;按“组”[或个人])。

我是 R 新手,对循环和更高级的公式几乎没有经验。似乎可以使用foverlaps, lubridate, 或%overlaps%"DescTools"包中;但是,我不确定如何构建相关公式。

任何帮助将不胜感激!

编辑#1:

虽然@sirallen 的建议适用于所提供示例中的特定时间段,但sum(pmin(dxDt, sepDt) - pmax(admDt, dxDt)), by = "id"在我的真实数据集中返回了不准确的值(例如,患者在一天内多次入院 ["2000-01-25" - "2000-01-26"]据报道在医院度过了零天。这对我来说似乎很奇怪,因为代码似乎被用来回答类似的例子。这个问题是否与我为这些患者有几个重叠的日期范围这一事实有关?此外,正如@所指出的那样sirallen,代码没有突出显示患者在该时间段内有一次或多次入院。

下面的代码通过确定 a) 患者是否在医院度过时间和 b) 入院次数,为我的问题的前两部分提供了更直接的途径:

但是,pmin / pmax 代码仍然不起作用,返回负值:

编辑#2

在测试其他情况后,似乎问题 re: pmin / pmax 可能与>vs的使用有关>=>使用时,返回正确的Dur值;但是,当>=使用时,Dur返回值 0。

如何修改此代码以使我能够计算到诊断日期(包括诊断日期)的天数?

0 投票
1 回答
16359 浏览

r - 如何创建空间点网格

加载空间域进行插值

我正在尝试在 R 中使用克里金方法,但由于无法为我的数据找到网格而被卡住了。我的数据占据了美国科罗拉多州的所有地区,我希望能够获得一个网格来插入我的数据。类似于我正在关注的示例中使用的 meuse.grid。

任何帮助,将不胜感激

0 投票
0 回答
71 浏览

r - 如何提取由循环生成的列表中的值

我必须提取循环生成的七 t2 hottelling 测试的 p.values,这些数据是由计算机生成的,从而改变了相关性。我需要提取所有 pvalues 来制作绘图。

0 投票
2 回答
151 浏览

r - 计算不一致对的功能不起作用

我正在尝试计算不一致对的数量。例如:

上面有 1 个不一致的对(对:“a”和“d”)

但是当我运行时:

我收到的答案是:5(而不是正确答案 - 1)

我也试过:

答案又是 5。

我错过了什么?

0 投票
1 回答
1335 浏览

r - 使用ggplot在R中的时间序列中着色预测间隔

请参考数据的输出。您可以直接向下滚动到目标问题陈述。也许您不需要数据,因为您之前可能遇到过这个问题。

调用所需的库

数据输入

创建 ts 对象的数据框以使用 ggplot

建立线性模型

向现有数据框 tsd 添加新列

定义验证和培训期的长度

训练数据

验证数据

建筑模型

使用我们的构建模型进行预测

为拟合的模型值制作数据框

为绘图目的制作数据框

使用 ggplot 创建绘图

在此处输入图像描述

目的:我想在预测线的两侧(图中红色虚线)添加5个百分位和95个百分位的预测误差,并对区域进行阴影处理。

我使用分位数来生成预测范围

为预测数据添加 5 个百分位和 95 个百分位

问题:如果我使用下面的命令,那么它不会在整个验证期内显示阴影区域。

在此处输入图像描述

尝试过的事情:如果我用任何其他值替换 ymin 和 ymax 的值,例如如果我使用下面的命令,那么我会得到命令下方显示的图

在此处输入图像描述

我的问题:

谁能告诉我图 2 中输出背后的原因?为什么 R 给出如图 2 所示的奇怪输出?

谁能帮我用ggplot遮蔽整个区域?

0 投票
2 回答
148 浏览

r - forloop/foreach 使用 r 中的相同模型运行数据中的每个 var

我的数据看起来像这样

我想对每个问题进行单向方差分析和邓肯事后测试。对于 q3a,代码为

如何编写foreach循环来为数据中的每个变量迭代相同的模型?

谢谢!