如何在 R 中以最少的努力为数据集中的所有变量创建直方图?

2023-11-21

探索新的数据集:可视化许多(所有)变量的最简单、最快的方法是什么?

理想情况下,输出显示彼此相邻的直方图,具有最小的混乱和最多的信息。这个问题的关键是处理大型和不同数据集的灵活性和稳定性。我使用 RStudio,通常处理大量且混乱的调查数据。

开箱即用的一个例子Hmisc在这里效果很好的是:

library(ggplot2)
str(mpg)

library(Hmisc)
hist.data.frame(mpg)

不幸的是,在其他地方我遇到了数据标签的问题(plot.new() 中的错误:图形边距太大)。对于比以下数据集更大的数据集,它也会崩溃mpg我还没有弄清楚如何控制分箱。此外,我更喜欢灵活的解决方案ggplot2。请注意,我刚刚开始学习 R,并且习惯了商业软件提供的舒适解决方案。

有关此主题的更多问题:

R 直方图 - 变量太多

...?


可能有三种广泛的方法:

  1. 来自包的命令,例如hist.data.frame()
  2. 循环变量或类似的宏结构
  3. 堆叠变量和使用构面

Packages

其他可能有用的命令:

library(plyr)
library(psych)
multi.hist(mpg) #error, not numeric
multi.hist(mpg[,sapply(mpg, is.numeric)])

也许multhist from plotrix,我还没有探索过。它们都没有提供我所寻求的灵活性。

Loops

作为 R 初学者,每个人都建议我远离循环。所以我这样做了,但也许这里值得一试。任何建议都非常受欢迎。也许您可以评论如何将图表合并到一个文件中。

Stacking

我的第一个怀疑是堆叠变量可能会失控。然而,对于一组合理的变量来说,这可能是最佳策略。

我想出的一个例子使用melt功能。

library(reshape2)
mpgid <- mutate(mpg, id=as.numeric(rownames(mpg)))
mpgstack <- melt(mpgid, id="id")
pp <- qplot(value, data=mpgstack) + facet_wrap(~variable, scales="free")
# pp + stat_bin(geom="text", aes(label=..count.., vjust=-1))
ggsave("mpg-histograms.pdf", pp, scale=2)

(如您所见,我尝试在条形上放置值标签以提高信息密度,但效果不太好。x 轴上的标签也不太理想。)

这里没有完美的解决方案,也不存在放之四海而皆准的命令。但也许我们可以更轻松地探索新的数据集。

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

如何在 R 中以最少的努力为数据集中的所有变量创建直方图? 的相关文章

  • Shiny :针对所有错误显示一条消息

    我在 R 的 Shiny 中有一个应用程序 我想处理消息 以便用户看不到发生了什么错误 我知道通过 tags style type text css shiny output error visibility hidden shiny ou
  • 使用 R 下载压缩数据文件、提取并导入 .csv

    我正在尝试使用以下方法从网页下载并提取 csv 文件R 这个问题是重复的使用 R 下载压缩数据文件 提取和导入数据 https stackoverflow com questions 3053833 using r to download
  • 如何在R中创建for循环? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在 R 编程中启动 for 循环 https stackoverflow com questions 4162363 how to start a for loop in r programmin
  • 来自大型数据帧的共现

    我有一个数据框 其中包含有关每个用户访问过哪些城市的信息 df visited lt data frame user c john john claire claire doe doe city c Antananarivo Barcelo
  • 在zooreg时间序列中查找非唯一索引条目时遇到问题

    我有几年的数据正在尝试将其转化为动物园对象 Dropbox 上的 csv https www dropbox com sh vg8w8pt16e0v3xs AABKtWqDkPu9JVKpwBXO36VOa dl 0 一旦数据被强制转换为动
  • R 无法回忆起内存中的对象

    我正在构建一个包含多个步骤的函数 其中每个步骤都会创建一个对象 某个步骤失败 temp3 并且无法找到前面的步骤对象 错误 未找到对象 temp2 我不知道为什么 我有类似的函数 遵循完全相同的结构 每个步骤都遵循先前创建的对象 在函数内
  • R中具有特定条件的多列变异

    我有这个数据 M1 M2 M3 UCL 1 2 3 1 5 我想在这种情况下创建新列 如果M1大于UCL MM1将为 UP 否则为 NULL 如果M2大于UCL MM2将为 UP 否则为 NULL 如果M3大于UCL MM3将为 UP 否则
  • ggplot2 中的中心图标题

    这个简单的代码 以及今天早上我的所有脚本 已经开始在 ggplot2 中给我一个偏离中心的标题 Ubuntu version 16 04 R studio version Version 0 99 896 R version 3 3 2 G
  • 如何在R中安装pivot_long()和pivot_wide()

    如果您想尝试这些新功能 pivot wide and pivot long 需要安装开发版tidyr devtools install github tidyverse tidyr 但我还没有实现它 我安装了一系列库 除了一个之外 vctr
  • 如果落在 R 中另一个数据集中的两个变量定义的范围内,则从一个数据集中获取变量值

    我有一个关于 R 中日期操作的问题 我已经查了好几天了 但在网上找不到任何帮助 我有一个数据集 其中有 id 和两个日期 另一个数据集具有相同的 id 变量 日期和价格 例如 x data frame id c A B C C date1
  • 如何编写固定宽度的文件?

    我应该编写一个基于固定宽度列的特定格式的 txt 文件 例如 第 1 8 列中的第一个变量 第 9 15 列中的第二个变量 原始数据有不同的长度 它们必须放在指定列的右侧 例如 值 15 96 和 12 489 必须写入第一行和第二行的第1
  • 按新年拆分日期行

    我有来自一家医院的包含许多变量的数据 以及每行的起始日期和截止日期 这告诉我们每行何时 有效 每行的有效期最长为一年 test data frame ID c 10 10 10 12 12 Disease c P P P D P Pass
  • 使用栅格包下载 SRTM 数据?

    我正在尝试使用 获取 SRTM 数据 raster R 中的包 但一旦我选择SRTM在 getData 命令中 我会收到以下错误 library raster srtm lt getData SRTM lon 16 lat 48 tryin
  • R:使用数据框 A 中某个日期之前的值填充数据框 B 中的行

    这可能非常复杂 我怀疑需要先进的知识 我现在有两种不同类型的 data frames 我需要组合 数据 数据框A 按患者 ID 列出所有输血日期 每次输血均由单独的行表示 患者可以进行多次输血 不同的患者可以在同一天进行输血 Patient
  • R ggplot:加权 CDF

    我想使用绘制加权 CDFggplot 一些旧的非 SO 讨论 例如this https stat ethz ch pipermail r help 2012 October 337288 html从 2012 年起 建议这是不可能的 但我想
  • 消除垂直线ggplot

    这个问题以前曾被问过 但答案并不总是明确或很复杂 我希望 ggplot2 的新版本能够带来更简单的解决方案 如何仅消除 ggplot 的垂直线而不消除轴刻度线或标签 这对于条形图来说确实很好 因为它可以消除图形中一些不必要的干扰 这里有一些
  • 从 SpatialPolygons 和其他 sp 类中提取要素坐标

    Package sp为不同的空间概念 点 线 多边形 提供了许多类 对于某些类 访问要素坐标很简单 例如SpatialLines 所有示例均取自相应课程的帮助页面 l1 cbind c 1 2 3 c 3 2 2 l1a cbind l1
  • 从拟合的 lm 或 glm [R] 获取每个因子水平(以及交互作用)的数据数量

    我在 R 中有一个逻辑回归模型 其中所有预测变量都是分类变量而不是连续变量 除了响应变量 它显然也是分类 二元变量 打电话时summary model name 有没有办法在每个因子水平中包含一个表示观测值数量的列 我在 R 中有一个逻辑回
  • 在并行包中的 R 的 par*apply 函数内部使用 Rcpp 函数

    我试图了解背后发生的事情Rcpp sourceCpp 调用并行环境 最近 问题中部分解决了这个问题 在 Windows 上使用 parLapply 中的 Rcpp 函数 https stackoverflow com questions 2
  • 将 R 中的列中的单引号替换为双引号

    我在 R 中的数据框有一个 A 列 其中有带单引号的字符串数据 Column A Hello World Hi World Good morning world 我想做的是将单引号替换为双引号并实现如下所示的输出 Column A Hell

随机推荐

  • 分块读取大文件c#

    我想逐块读取非常大的文件 4GBish 我目前正在尝试使用StreamReader和Read 读取方法 语法是 sr Read char buffer int index int count 因为index is an int它会overf
  • 缓存策略,输出缓存与数据缓存或两者兼而有之?

    我正在开发一个 ASP NET MVC 项目 现在我想开始考虑我的缓存策略 我试图让我的框架尽可能开放以供缓存使用 据我在 Scott Hanselman 的播客中听到的消息 StackOverflow com 使用页面输出缓存并压缩该内容
  • Spring Boot 在 Gradle 中获取包的属性

    我正在尝试将我的项目从 Maven 构建转换为 Gradle 目前项目使用Spring Boot 在我当前的 Maven 配置中 我有
  • 如何解决VScode UnsupportedClassVersionError?

    Problem 当我运行 HelloWorld 时 它返回 java lang UnsupportedClassVersionError HelloWorld 已编译 通过更新版本的 Java 运行时 类文件版本 52 65535 该版本的
  • 函数中的自动参数类型

    我想知道标准委员会是否考虑扩展C 14auto关键字来推导函数模板参数类型 就像现在泛型 lambda 中存在的那样 正如这个答案中很好地描述的那样 因为它适用于 lambda 函数 所以它也应该适用于任何函数 当然 这对于经典语法来说是完
  • JavaScript 中的词法范围

    我对 JavaScript 中的作用域到底是如何工作的感到有点困惑 主要是词法作用域 我知道全局作用域中的变量可以在任何地方访问 在 JavaScript 中创建新作用域的唯一方法是通过创建函数 或在 ES6 中使用 let 但是 我不太明
  • Flutter如何手动安装包

    有没有办法手动下载包并安装 使用他们的包管理器真是令人沮丧 这次下载只需要 0 4 秒 但每次尝试多次后都无法下载 每次都要等待几分钟 实在是太不可靠了 至少有办法让我看到进度条之类的吗 我在浏览器中 2 秒就能下载的东西却每次都能成功 下
  • CreateProcess 在 Windows 7 下不会创建额外的控制台窗口?

    我正在尝试使用 CreateProcess 运行一个进程 并在单独的控制台窗口中独立运行它 我可以使用 system 函数来实现这一点 但我更喜欢 CreateProcess 因为它使我可以指定环境和工作目录 获取进程的句柄 以及在需要时通
  • 安装 PostgreSQL 9.0 后如何更改 NAMEDATALEN 配置?

    我支持一些旧版 PostgreSQL 8 3 4 数据库 并将它们迁移到一些较新的 Windows Server 2008 硬件上 我被告知 NAMEDATALEN 数字需要高于默认值 据我了解 NAMEDATALEN 配置不存在于配置文件
  • Capistrano 3 资产:预编译需要数小时。停在 css 文件处

    正如它所说 我无法让 capistrano 3 做assets precompile正确 即使几个小时后 它仍然说写信给 css服务器上的文件 UPDATE 我正在玩 我尝试了 m1 medium 当它到达某个点时 就会发生同样的事情 它只
  • 将值从 SQL Server 导出到 txt 文件

    我想将 SQL Server 中的值导出到 txt 文件 我了解 BCP 在那里我需要提供查询或表名称才能从表中导出数据 我不想导出数据 但我想导出分配给变量的值 我该怎么做 有什么帮助吗 使用查询收集要导出的变量 像这样的东西 DECLA
  • 找不到模块“模块名称”的声明文件。 '/path/to/module-name.js' 隐式具有 'any' 类型

    我读的是 TypeScript模块分辨率 works 我有以下存储库 ts stack di 编译后目录结构如下 dist annotations d ts annotations js index d ts index js inject
  • git 将分支推送到具有不同名称的新存储库

    如何使用分支的新名称将分支推送到不同的存储库 例如我有一个分支feature1在回购协议上abc我想推送到回购协议xyz并使其成为主分支 我尝试使用重命名远程git分支但在新的存储库上执行 git 克隆后 我收到了错误消息 git 警告 远
  • 我可以通过蓝鸟承诺提前打破链条吗?

    我不一定想犯错误 但我有 getFromDb then tradeData gt if not tradeData DO NOT CONTINUE THE CHAIN else getLatestPrice tradeData then l
  • 无法使用冒号映射 docker 卷

    当主机目录路径包含冒号时 有没有办法将主机目录挂载为数据卷 例子 v colon path test data 在这种情况下 它正在治疗data作为附加选项 这 colon path test是正确的 Unix 路径 是的 随着 mount
  • ASP.NET MVC、AngularJS、Bower 和部署站点文件夹结构

    我读过很多有关站点文件夹结构 开发和部署 的文章和问题 但仍然误解了下面的问题 我标记了当前的文件夹结构 橙色 看起来像lib or vendor文件夹 我想在其中存储独立组件 Blue 文件夹包含我自己的 相对于当前项目 应用程序 的文件
  • 如何以编程方式连接 Swift / MacOS 中的插座和操作

    我有一个简单的例子 我通过按住 Ctrl 键并将其拖动到控制器类来连接左按钮 1 和标签 1 如何以编程方式对右键 2 label2 执行相同操作 无需 Ctrl 拖动 这是我的代码 class ViewController NSViewC
  • 使用 select2.js 选择文本的不同显示值

    尝试使用以下命令实现自定义选择下拉列表选择2插件是否可以让所选值仅显示实际选项 值 而不是文本 因此如果我选择 澳大利亚元 则所选文本应仅显示 澳元 我的标记看起来像这样
  • 开发适用于 Windows Embedded Compact 2013 的应用程序

    今天我偶然发现了CE 2013 应用程序生成器在微软的下载中心 根据描述 有了这个包我应该能够develop apps that target Windows Embedded Compact 2013使用 Visual Studio 20
  • 如何在 R 中以最少的努力为数据集中的所有变量创建直方图?

    探索新的数据集 可视化许多 所有 变量的最简单 最快的方法是什么 理想情况下 输出显示彼此相邻的直方图 具有最小的混乱和最多的信息 这个问题的关键是处理大型和不同数据集的灵活性和稳定性 我使用 RStudio 通常处理大量且混乱的调查数据