R 因子变量之间的相关性

2024-05-27

我想知道是否有一种简单的方法来识别与另一个变量 100% 相关的特征/因子变量。因此,在示例中,该过程将匹配“颜色”和“车辆”以及“植物”和“高度”

color <- c('black', 'black', 'blue', 'blue', 'yellow')
vehicle <- c('truck', 'truck', 'car', 'car', 'bike')
plant <- c('tree', 'flower', 'grass', 'tree', 'flower')
height <- c('tall', 'medium', 'short', 'tall', 'medium')

df <- as.data.frame(cbind(color, vehicle, plant, height))

目前,我获取因素的级别数并运行相关矩阵并提取相关性为 1 的对(除了自身对)。

包比较工作原理:

library(tidyverse)
library(compare)

f <- function(x) factor(x, levels= unique(x))

f.df <- as.tibble(df) %>%
  mutate_if(is.character, f) %>%
  mutate_if(is.factor, as.numeric) 

compare(f.df$color, f.df$vehicle)
compare(f.df$color, f.df$plant)

要测试相关性:

cor <- cor(f.df)

cor[lower.tri(cor)] <- 0

vars.corr <- data.frame(cor) %>%
  mutate(var1= rownames(.)) %>%
  select(var1, everything()) %>%
  gather(var2, val, -var1) %>%
  filter(var1!= var2) %>%
  filter(val > .99)

但我正在努力使用 map (purrr) 应用比较函数来迭代变量对(vars.corr 中的 var1 和 var2),或者编写一个函数并正确应用 enquo 来从列表中读取变量并应用到 f.df。

但这现在看起来就像一个兔子洞,我想肯定有一个更简单的方法! 感谢您的任何建议!


对于单个对:

perfect_cor <-   function (var1, var2) {
  all(rowSums(as.matrix(table(df[[var1]], df[[var2]])) > 0) == 1)
}
perfect_cor <- Vectorize(perfect_cor) # necessary for using `outer`

要将其应用于所有对:

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

R 因子变量之间的相关性 的相关文章

  • 我无法下载 R 中的 reshape2 包 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在尝试安装 R 包时收到此响应 gt installed packages reshape2 Package LibPath V
  • 使用 purrr 迭代替换数据帧列中的字符串

    我想用purrr使用以下命令在数据框列上迭代运行多个字符串替换gsub 功能 这是示例数据框 df lt data frame Year 2019 Text c rep a aa 5 rep a bb 3 rep a cc 2 gt df
  • 多功能测试仪替代 system.time

    我已经看到 我认为是这样 使用了类似于 system time 的函数 它可以同时评估多个函数的时间并输出一个输出 我不记得它是什么 并且用我正在使用的术语进行互联网搜索并没有得到我想要的响应 有人知道我正在谈论的功能的名称 位置吗 你想要
  • 通过间接引用列来修改数据框中的某些值

    我正在整理一些数据 我们将失败的数据分类到垃圾箱中 并按批次计算每个分类箱的有限产量 我有一个描述排序箱的元表 这些行按升序测试顺序排列 一些排序标签带有非语法名称 sort tbl lt tibble tribble weight lab
  • 尝试读取 CSV 文件时出现“无法识别的字符串转义”

    我正在尝试导入一个 csv文件 以便我可以观看此视频 R ggplot2 图形直方图 http www youtube com watch v 47kWynt3b6M 我安装了所有正确的软件包 包括ggplot以及相关的包 视频中的第一个说
  • 从命令行运行 R 代码 (Windows)

    我在名为 analysis r 的文件中有一些 R 代码 我希望能够从命令行 CMD 运行该文件中的代码 而无需通过 R 终端 并且我还希望能够传递参数并在我的代码中使用这些参数 例如就像下面的伪代码 C gt execute r scri
  • 在 R 格子包中微调点图

    我正在尝试为不同的数据集和不同的算法绘制一堆 ROC 区域 我有三个变量 方案 指定所使用的算法 数据集 是正在测试算法的数据集 以及 Area under ROC 我正在 R 中使用lattice库 命令如下 点图 方案 Area und
  • Purrr::map_df() 删除 NULL 行

    使用时purrr map df 我偶尔会传递一个数据框列表 其中一些项目是NULL 当我做 map df 返回行数少于原始列表的数据框 我想发生的事情是这样的map df calls dplyr bind rows 它忽略了NULL价值观
  • R 中的列乘以子字符串

    假设我有一个数据框 其中包含多个组件及其在多个列中列出的属性 并且我想对这些列运行多个函数 我的方法是尝试将其基于每个列标题中的子字符串 但我无法弄清楚如何做到这一点 下面是数据框的示例 Basket F Type 1 F Qty 1 F
  • 朴素贝叶斯分类器仅基于先验概率做出决策

    我试图根据推文的情绪将推文分为三类 买入 持有 卖出 我正在使用 R 和包 e1071 我有两个数据框 一个训练集和一组需要预测情绪的新推文 训练集数据框 text sentiment this stock is a good buy Bu
  • ddply 和aggregate 之间的区别

    有人可以通过以下示例帮助我了解聚合和 ddply 之间的区别 数据框 mydat lt data frame first rpois 10 10 second rpois 10 10 third rpois 10 10 group c re
  • 文本挖掘 pdf 文件/词频问题

    我正在尝试挖掘一篇具有丰富 pdf 编码和图表的文章的 pdf 我注意到 当我挖掘一些 pdf 文档时 我得到的高频词是 phi taeoe toe sigma gamma 等 它与某些 pdf 文档配合良好 但与其他文档配合使用时却得到这
  • R 中用于调用 sed、rsync、ssh 等的 system() 的替代方案:函数是否存在,我应该编写自己的函数,还是我错过了重点?

    最近 我发现了base files命令 与其他命令一起使用 例如getwd write lines file show dir等等 似乎有许多 bash 函数的 R 等价物 我还在 R 中编写了一些函数来简化对ssh and rsync通过
  • R“错误:“}”中出现意外的“}”[重复]

    这个问题在这里已经有答案了 我有一个字符串变量 对于缺少数据的情况 它具有 空值 我想将 空值 重新编码为缺失 而不是说 空值 我正在尝试编写一个循环来删除这些 空值 条目 但我不断收到错误 错误 中出现意外的 for row in dat
  • 条件字体颜色 R Markdown

    我无法找到一种方法来根据变量的值 gt 0 0 或 r setup include FALSE x lt 4 This is an R Markdown document r if x gt 0 textcolor red Markdown
  • R:使用 tidyverse 将 NA 替换为 df 中的其他变量

    我想使用 tidyverse 替换 df 中的 NA 值 我想要的值应该从其他列中计算出来 input ID X1 X2 X3 A 0 96 NA 0 97 B 1 00 NA 1 01 C 0 98 0 03 NA A 1 00 NA 1
  • 如何使用 tidymodels 和工作流集在同一数据集上拟合多个不同的线性模型

    我想评估同一数据集上多个 主要是 线性回归模型的性能 我想也许使用tidymodels包连同workflowsets workflow set 可能会起作用 我按照这个例子here https workflowsets tidymodels
  • 在 ifelse() 语句内部和外部运行一行时的不同输出

    我正在尝试运行一个简单的命令 但不知道为什么在内部和外部运行它时输出不同ifelse 功能 函数条件评估为FALSE 所以输出应该完全相同 但是 单独运行时 输出为0 0 1 1 0 1 0 1 NA 根据需要 但是从ifelse 函数 输
  • 线性判别分析图

    如何将样本 ID 行号 作为标签添加到此 LDA 图中的每个点 library MASS ldaobject lt lda Species data iris plot ldaobject panel function x y points
  • 如何使用 dplyr 独立过滤每列的行

    我有以下内容 library tidyverse df lt tibble tribble gene colB colC a 1 2 b 2 3 c 3 4 d 1 1 df gt A tibble 4 x 3 gt gene colB c

随机推荐

  • UISearchBar 在单击时修改其框架/边界

    我正在尝试将 UISearchController 放置在我的应用程序 UI 中 布局是 黄色 ViewController 红色 另一个 ViewController 黑色 YellowViewController 中的容器 我想将 UI
  • Android:已购买应用程序的订单 ID

    我们计划从付费应用程序转变为带有应用程序内购买功能的免费应用程序 我们需要让任何支付应用程序费用的用户免费获得应用程序内购买 我正在考虑以下解决方案 我们将在我们的服务器内存储用户的唯一 ID 或唯一订单 ID 当我们发布新的免费版本的应用
  • 通过单击按钮更改 PHP include ("link.php")

    如何通过单击按钮更改 PHP include link html BUTTON 1 change to BUTTON 2 change to BUTTON 3 change to 如何在不刷新页面的情况下执行此操作 使用ajax Wrap
  • 关闭特定url上的AngularJS窗口

    我是 angularjs 的新手 所以这个问题对于经验者来说可能看起来很愚蠢 但我真的无法执行此操作 任何人都可以告诉我如何在到达特定网址后从 webview 返回到应用程序 就像我正在打开一个浏览器中的窗口用于支付过程 所以我需要的是 当
  • Rstudio 更有意义的窗口标题

    我在 Ubuntu 16 04 下使用 R studio 版本 1 0 143 窗口标题仅显示一个非常无信息的 RStudio 我希望至少有当前选项卡的名称 或者最好是与此选项卡对应的文件的完整路径 在 Windows 下 完整路径似乎出现
  • 安装失败,消息为 null - Genymotion 错误

    我是 Android 编程新手 仍在学习基础知识 我已经安装了 Android Studio 和 Genymotion 如提供的教程中所述 当我使用捆绑的模拟器运行 Android 应用程序时 一切工作正常 但是 使用 Genymotion
  • 如何在 devserver 上使用 Oauth 测试 Cloud Endpoints

    我的应用程序使用 Oauthed Cloud Endpoints 并且在生产中运行良好 我的问题是 在本地开发服务器上 我的 User 用户始终设置为 电子邮件受保护 cdn cgi l email protection 即使我已经完成了通
  • 使用 offsets_for_times 从时间戳消费

    尝试使用 confluence kafka AvroConsumer 来消费给定时间戳的消息 if flag creating a list topic partitons to search list map lambda p Topic
  • DOS批处理命令一次处理1个文件

    我正在尝试执行一项特定任务 其中需要从可能包含未定义数量的文件的文件夹中读取文件 一次一个 我需要能够将文件夹中的第一个文件移动到新位置 然后使用另一个批处理文件执行另一个任务 主要目的是一次读取一个文件 而不是执行将读取所有文件的 立刻
  • 字符串被两个不同的分隔符分割

    我有这样的字符串 some dasd dasd dasdas dasdas dasd das dsad 我需要用两个不同的符号将字符串拆分为数组 and 所以我想得到数组 some dasd dasd dasdas dasdas dasd
  • 就绪探测失败:超时:1秒内无法连接服务“:8080”

    我正在尝试使用 minikube 构建微服务映像并将其部署到在我的开发计算机上运行的单节点 Kubernetes 集群 我正在使用 Google 的云原生微服务演示应用程序 Online Boutique 来了解 Kubernetes Is
  • VS Code 多行搜索和替换 HTML / XML 标签? [复制]

    这个问题在这里已经有答案了 如何搜索可能包含多个非空行的开始和结束标记
  • “forms.ContactForm 对象”没有属性“hidden_​​tag”

    我正在尝试使用 Flask 创建联系表单 但在渲染页面时不断收到此错误 forms ContactForm object has no attribute hidden tag 这是我的文件 联系方式 html extends layout
  • 猫鼬查找并删除

    我正在尝试删除满足查询的多个文档 但是 我需要这些文档的数据将它们存储在单独的集合中以实现撤消功能 我让它工作的唯一方法是使用多个查询 Data find query exec function err data Data remove q
  • 在 List ForEach() 中设置多个属性?

    给定一个类 class foo public string a public int b 0 然后是它们的通用列表 var list new List
  • 自动调整所有列的大小以适合内容

    我所有的搜索结果都是sizeColumnsToFit and autoSizeColumns这不是我想要的 我的网格有很多列 所以它水平滚动 这很好 但我无法提前知道一列中最宽的文本所需的最大空间是多少 因此希望网格自动调整所有列的大小以适
  • 在非 Angular 类中获取注入的依赖项

    我有当前的 和简化的 课程 export class NavigationItem constructor private router Router navigateTo this router navigate this id 我不想每
  • 使用 Visual Studio 2015 在防火墙后面使用 npm

    我尝试利用 Visual Studio 2015 中新的 npm 支持 但遇到了一些问题 我位于公司防火墙后面 我尝试从 package json 文件中添加 grunt 并且可以看到与 npm 相关的输出 npm http GET htt
  • 将文本保留在 TextView 中,drawableLeft 居中

    在我的应用程序中 我有一个标题栏 其中包含一个宽度为 fill parent 的文本视图 它具有特定的背景颜色和一些居中的文本 现在我想在标题栏的左侧添加一个drawable 所以我设置了drawableLeft 果然文本和图像都显示出来了
  • R 因子变量之间的相关性

    我想知道是否有一种简单的方法来识别与另一个变量 100 相关的特征 因子变量 因此 在示例中 该过程将匹配 颜色 和 车辆 以及 植物 和 高度 color lt c black black blue blue yellow vehicle