R 中的关联度量——Kendall 的 tau-b 和 tau-c

2023-12-22

是否有用于计算 Kendall tau-b 和 tau-c 及其相关标准误差的 R 软件包?我在 Google 和 Rseek 上的搜索一无所获,但肯定有人已经在 R 中实现了这些。


three 肯德尔 tau 统计数据 (tau-a, tau-b, and tau-c).

他们是not可以互换,到目前为止发布的答案都没有涉及最后两个,这是OP问题的主题。

我无法在 R 中找到计算 tau-b 或 tau-c 的函数标准库 (统计等.) 或 CRAN 或其他存储库上可用的任何软件包中。我使用了优秀的 R 包sos进行搜索,所以我相信返回的结果相当彻底。

这就是OP问题的简短回答:tau-b 或 tau-c 没有内置或封装功能.

但自己动手很容易。

为 Kendall 统计编写 R 函数只是一个问题 将这些方程转化为代码:

Kendall_tau_a = (P - Q) / (n * (n - 1) / 2)

Kendall_tau_b = (P - Q) / ( (P + Q + Y0) * (P + Q + X0) ) ^ 0.5 

Kendall_tau_c = (P - Q) * ((2 * m) / n ^ 2 * (m - 1) )

tau-a:等于一致减去不一致对,除以一个因子以计算对总数(样本大小)。

tau-b:明确核算ties--即数据对的两个成员具有相同的值;该值等于一致减去不一致对除以 a表示未绑定的对数之间的几何平均值的术语x (X0) 上的数字和 y (Y0) 上未绑定的数字。

tau-c: 更大的桌子变体还针对非方桌进行了优化;等于一致减去不一致对乘以根据表大小调整的系数)。

# Number of concordant pairs.
P = function(t) {
  r_ndx = row(t)
  c_ndx = col(t)
  sum(t * mapply(function(r, c){sum(t[(r_ndx > r) & (c_ndx > c)])},
    r = r_ndx, c = c_ndx))
}

# Number of discordant pairs.
Q = function(t) {
  r_ndx = row(t)
  c_ndx = col(t)
  sum(t * mapply( function(r, c){
      sum(t[(r_ndx > r) & (c_ndx < c)])
  },
    r = r_ndx, c = c_ndx) )
}

# Sample size (total number of pairs).
n = n = sum(t)

# The lesser of number of rows or columns.
m = min(dim(t))

所以这四个参数就是你需要计算的tau-a, tau-b, and tau-c:

  • P

  • Q

  • m

  • n

(plus XO & Y0 for tau-b)


例如,代码为tau-c is:

kendall_tau_c = function(t){
    t = as.matrix(t) 
    m = min(dim(t))
    n = sum(t)
    ks_tauc = (m * 2 * (P(t) - Q(t))) / ((n ^ 2) * (m - 1))
}

Kendall 的 tau 统计数据如何相关分类数据分析中使用的其他统计测试?

所有三个 Kendall tau 统计数据,以及 Goodman 和 Kruskal 的统计数据gamma是给有序数据和二进制数据的相关性。 (Kendall tau 统计量是 gamma 统计量(仅 P-Q)的更复杂的替代品。)

所以肯德尔斯的taugamma是简单的对应物卡方 and Fisher 精确检验,两者(据我所知)仅适用于名义数据.

example:

cpa_group = c(4, 2, 4, 3, 2, 2, 3, 2, 1, 5, 5, 1)
revenue_per_customer_group = c(3, 3, 1, 3, 4, 4, 4, 3, 5, 3, 2, 2)
weight = c(1, 3, 3, 2, 2, 4, 0, 4, 3, 0, 1, 1)

dfx = data.frame(CPA=cpa_group, LCV=revenue_per_customer_group, freq=weight)

# Reshape data frame so 1 row for each event 
# (predicate step to create contingency table).
dfx2 = data.frame(lapply(dfx, function(x) { rep(x, dfx$freq)}))

t = xtabs(~ revenue + cpa, dfx)

kc = kendall_tau_c(t)

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

R 中的关联度量——Kendall 的 tau-b 和 tau-c 的相关文章

  • 计算一列中正数和负数的数量

    我想计算数据帧的一列中正值和负值的数量 我在 R 中该怎么做 例如 这里是数据框 logFC logCPM LR PValue FDR Bra15066 5 630822 5 184586 73 79927 8 647868e 18 4 0
  • LaTex 中与 knit 和 xtable 交叉引用的问题

    我目前正在与 R Studio 合作 使用 LaTex 中的 R knitr 生成 PDF 文档 在这些文档中 我想在文本中引用的表格中展示我的部分结果 我使用 R 中的 xtable 包生成这些表 它运行良好并为我提供了正确的表 到目前为
  • par(mfrow=c(1,2)) 不显示并排密度图[重复]

    这个问题在这里已经有答案了 par mfrow c 1 2 plot 1 12 log y plot 1 2 xaxs i 然而 当我尝试做并排密度图时 图会单独输出 load the stud recs dataset library U
  • 将循环转换为并行计算的函数

    我正在使用 R 编程语言 我遇到这个问题 我试图找出两个 shapefile 之间的成对交集 即第一个 shapefile 中的每个多边形与第二个 shapefile 中的所有多边形相交的百分比 我想我找到了解决这个问题的基本方法 Load
  • 基于服务器中的条件逻辑呈现闪亮的用户输入

    我正在尝试设置一个闪亮的导航栏面板页面 其中用户控制我根据一组单选按钮中所做的初始选择来显示更改 我直接在 ui 中渲染单选按钮 然后在 Server r 中的 观察到的 逻辑控制结构内构建条件控件 弹出错误是因为我的初始 if 语句计算结
  • 计算例如具有多列 data.frames 的列表中的平均值

    我有几个 data frames 的列表 每个 data frame 有几列 通过使用mean mylist first dataframe a我可以得到这个 data frame 中 a 的平均值 但是我不知道如何计算列表中存储的所有 d
  • kableExtra 中的 row_spec() 函数不会在 html 输出中创建水平线

    我想在 kableextra 表中的某一行下方添加一条水平线 row spec 函数的参数 hline after 应该在行下方添加水平线 row spec 文档 https www rdocumentation org packages
  • 使用 broom 和 tidyverse 总结 r 平方游戏

    我发布了一个问题here https stackoverflow com questions 48627287 getting adjusted r squared value for each line in a geom smooth
  • 如何用外部图像填充地图边界?

    我正在创建一张带有州边界的巴西地图 这可以直接使用ggplot2 and geom sf 然而 这一次 我不想用数据填充每个状态的颜色 而是想用外部图像 png 填充每个状态的边界 类似于this https online olivet e
  • R中的一元加/减是什么?

    来自 R 的详细信息部分Syntax http stat ethz ch R manual R patched library base html Syntax html帮助页面 定义了以下一元和二元运算符 他们被列出 在优先级组中 从最高
  • 如何删除箱线图上的刻度线

    我试图从箱线图中删除 x 轴刻度线 但保留与刻度线关联的标签 这在基础 R 中可能吗 colors lt c lightskyblue3 gray78 gold1 wheat1 boxplot avgscore module data mi
  • 在 R 中向散点图添加线条

    如何向图表添加线条 我做了以下 dat lt data frame xvar 1 20 rnorm 20 sd 10 yvar 1 20 rnorm 20 sd 10 zvar 1 20 rnorm 20 sd 10 plot dat 1
  • 多功能测试仪替代 system.time

    我已经看到 我认为是这样 使用了类似于 system time 的函数 它可以同时评估多个函数的时间并输出一个输出 我不记得它是什么 并且用我正在使用的术语进行互联网搜索并没有得到我想要的响应 有人知道我正在谈论的功能的名称 位置吗 你想要
  • 如何使用 usmap 标记数字而不是名称?

    我知道 usmap 有一个选项label in plot usmap 我想标记一些数字 而不是状态名称 我想 usmap 中应该有与州质心坐标相关的数据 但我不知道如何找到它 如果我能得到 坐标然后我可以用它来标记数字geom text 这
  • Dendextend:关于如何根据定义的组为树状图的标签着色

    我正在尝试使用一个名为 dendextend 的很棒的 R 包来绘制树状图并根据一组先前定义的组为其分支和标签着色 我已阅读您在 Stack Overflow 中的答案以及 dendextend vignette 的常见问题解答 但我仍然不
  • twitterR 和 ROAuth R 软件包安装

    我在安装 CRAN 上的 twitteR 和 RAOuth 软件包时遇到一些问题 我尝试了几种不同的方法 在 Windows 下使用源代码 在 Ubuntu 下使用 RStudio 我尝试了以下命令 sudo apt get install
  • 在 R 格子包中微调点图

    我正在尝试为不同的数据集和不同的算法绘制一堆 ROC 区域 我有三个变量 方案 指定所使用的算法 数据集 是正在测试算法的数据集 以及 Area under ROC 我正在 R 中使用lattice库 命令如下 点图 方案 Area und
  • 使用 R 选择第一个非 NA 值

    df lt data frame ID c 1 1 1 2 3 3 3 test c NA 5 5 6 4 NA 7 3 NA 10 9 我想创建一个名为 value 的变量 它是每个单独 ID 测试的第一个非 NA 值 对于只有NA的个体
  • 朴素贝叶斯分类器仅基于先验概率做出决策

    我试图根据推文的情绪将推文分为三类 买入 持有 卖出 我正在使用 R 和包 e1071 我有两个数据框 一个训练集和一组需要预测情绪的新推文 训练集数据框 text sentiment this stock is a good buy Bu
  • 在 r 中的 group_by 之后建模后取消列表列的嵌套

    我想对所有组进行线性回归group by 将模型系数保存在列表列中 然后使用 unnest 扩展列表列 这里我用的是mtcars以数据集为例 注 我想用do here becausebroom tidy 不适用于所有型号 mtcars gt

随机推荐

  • Git for Windows 使用 gitk-all 启动 gitk 上下文菜单

    我安装了 Windows 版 Git 当我右键单击一个项目并选择Git History我得到了 Gitk 窗口 但每次这样做我都需要设置视图以查看所有分支 即使我编辑视图并将其设置为Remember 我在随后访问 Gitk 时仍然没有获得所
  • POI for XPage - 将 Word 文档保存为富文本字段中的附件

    我正在使用 OpenNTF POI 4 XPage 插件 这对于生成 Word 文档非常有效 现在 生成 Word 文档后 我想创建一个新的响应文档 并将该 Word 文档作为附件存储在该响应文档的富文本字段中 这是我的代码 在 POI 4
  • 通过另一列的分组值之和标准化 pandas 数据框中的列

    我有点坚持尝试标准化 pandas 数据框中列的某些条目 所以我有一个像这样的数据框 df pd DataFrame user 0 0 1 1 1 2 2 item A B A B C B C bought 1 1 1 3 3 2 3 df
  • MariaDB 不允许远程连接

    如屏幕截图所示 我已将帐户设置为允许远程连接 但如第二个屏幕截图所示 我仍然无法远程连接 我用于在虚拟机 Ubuntu 16 04 中进行测试 对我来说 我修复了更改文件的错误50 server cnf 我的服务器是Ubuntu 所以更改以
  • AWS Java SDK正在使用旧版本的jackson jar

    目前我正在努力在现有应用程序中添加AWS Java SDK以执行与AWS云相关的操作 在导入最新版本的 aws java sdk 即 1 11 113 时 我遇到运行时异常 在研究了异常之后 原因是 java sdk 使用了不推荐使用的版本
  • 不使用 where 子句进行更新

    id no 1 1 11 1 21 1 我想更新第二行号 至 2 我可以使用的查询是 update test set no 2 where id 11 如果没有 where 子句 我怎样才能实现相同的目标 我不知道why你会想要但是 UPD
  • Rest Standard:路径参数或请求参数

    我正在创建一个新的 REST 服务 向 REST 服务传递参数的标准是什么 在 Java 的不同 REST 实现中 您可以将参数配置为路径的一部分或请求参数 例如 路径参数http www rest services com item b
  • Emacs 中有函数调用层次结构的功能吗

    我正在维护别人的代码 该代码是在Linux平台上使用GCC 4 4 3用C语言编写的 然而 代码跳转很多 很难找出所有函数是从哪里调用的 在 Visual Studio 中 有一个称为 调用层次结构 的功能 它将显示函数的调用位置和调用位置
  • Angularjs + Ionic Framework:如何创建显示 ion-tabs 导航但不为其本身定义选项卡的新路线?

    标题很长 但这里有一个更好的解释 我有一个名为 Login 的模板 html 文件 我在 app js 中定义了一条路由 如下所示 state login url login templateUrl templates login html
  • Scala中如何保证类型参数不同?

    通过以下定义 可以确保具体类型参数相等 trait WithEqual T1 gt T2 lt T2 T2 所以这条线 type A WithEqual Int Int 将是合法的 现在我的问题是 如何达到完全相反的目的 因此 以下行应该n
  • 这些日志的 grok 模式应该是什么? (摄取 filebeat 的管道)

    我是 elasticsearch 社区的新人 我希望您能帮助我解决一些我遇到的困难 我的目标是使用 Filebeat 将大量日志文件发送到 Elasticsearch 为了做到这一点 我需要使用带有 Grok 模式处理器的摄取节点来解析数据
  • 如何读取图表区域内的文本框python pptx?

    我正在尝试使用自动化 pptpptx python图书馆 我正在使用模板 一些幻灯片中几乎没有图表 图表中有文本框 我尝试循环形状以获得shape id这些文本框 但我找不到shape id 当我尝试将文本框拖出图表区域时 它没有出现 文本
  • 在 Laravel 5.7 中的子域组内设置命名路由

    我一直在开发一个多租户应用程序 我正在尝试根据文档在子域中设置路由 https laravel com docs 5 7 routing route group sub domain routing https laravel com do
  • SpecRun 使用 @ignore 测试返回退出代码 120

    作为持续集成设置的一部分 从命令行运行 SpecRun 最近忽略了 ignore 测试在 SpecRun 完成时生成退出代码 120 目前 我们在任何不等于 0 的退出代码 通用成功指示器 上中断构建 退出代码 120 到底是什么意思 仅仅
  • 从 django 模型创建 javascript 对象(类)

    我正在开发一个单页应用程序 它将从大约十几个不同的 django 模型加载数据 允许用户操作数据 然后将所有更改保存回数据库 我可以通过序列化查询集的结果来将 django 模型 传递 到模板 例如 我有一个模型 Person class
  • 读取 ruby​​ 中的所有 shell 变量

    Problem 我正在将 shell 脚本作为 ruby 脚本中的子进程运行 运行脚本后我希望有一个选项来检查 shell 的所有环境变量 包括数组变量 到目前为止我已经想出了 set awk F BEGIN v 0 a zA Z a zA
  • Javascript/EcmaScript 3 支持 ISO 8601 日期解析吗?

    您目前如何解析 ISO8601 日期 例如2010 02 23T23 04 48Z在 JavaScript 中 使用下面的代码时 某些浏览器会返回 NaN 包括 Chrome 但 FF3 6 可以工作 你可以在这里尝试一下http www
  • C# Eval() 支持 [重复]

    这个问题在这里已经有答案了 我们需要在运行时评估对象中的值 同时我们有确切成员路径的文本语句 例如 myobject firstMember secondMember 3 text我们考虑使用正则表达式解析这个文本语句 然后使用反射评估文本
  • Scikit-Learn:所有训练示例中都存在标签而不是 x

    我正在尝试使用 SVM 进行多标签分类 我有近 8k 个特征 并且还有长度接近 400 的 y 向量 我已经有二值化的 Y 向量 所以我没有使用MultiLabelBinarizer 但是当我将它与 Y 数据的原始形式一起使用时 它仍然给出
  • R 中的关联度量——Kendall 的 tau-b 和 tau-c

    是否有用于计算 Kendall tau b 和 tau c 及其相关标准误差的 R 软件包 我在 Google 和 Rseek 上的搜索一无所获 但肯定有人已经在 R 中实现了这些 有three 肯德尔 tau 统计数据 tau a tau