循环遍历多个列并在 R 中为每个列绘制一个图?

2024-01-11

我有一个数据集,其中第一列是“年份”,接下来的五十列是美国每个州的数据。我想在一个 pdf 中生成多个图,将每个“州”列与“年”列相匹配(即 [1] 和 [2]、[1] 和 [3]、... [1]和[50]。

我认为循环第 2-50 列将是一个很好的解决方案,但我无法让它在绘图函数中工作。我对循环很陌生,所以我不太确定如何继续。下面是我的数据集中的示例以及我遇到问题的部分代码

testUS:
Year    ME   NH    VT   MA   RI   CT    NY
1953    4017 1579 5057 12215 1582 9252  23507
1954    5265 1351 1733 18561 633  8402  21002
1955    740  788  2214 9719  787  3958  22317
1956    985  184  1537 6458  957  5575  26639

pdf("testUSgraph.pdf")
for (i in 2:50) {
  plot(testUS[,1], testUS[,i])
}
dev.off

我收到的错误消息:

function (which = dev.cur()) 
{
    if (which == 1) 
        stop("cannot shut down device 1 (the null device)")
    .External(C_devoff, as.integer(which))
    dev.cur()
}
<bytecode: 0x1075edc30>
<environment: namespace:grDevices>

此外,每当我将 testUS[i] 分配给变量时,该变量仅调用一种状态的数据(即仅显示第 50 列的数据)。


假设你的数据框是df,

library(ggplot2)

col_names <- colnames(df)
col_names <- col_names[-1]

for (i in col_names){
    plot <- ggplot(df, aes_string(x=df$Year, y=i)) +
    geom_point()
    print(plot)
}

这应该将它们作为单独的图返回。

edit:在同一视图中返回绘图,并另存为 pdf,

col_names <- colnames(df)
col_names <- col_names[-1]

plot_list <- list()

for (i in col_names){
    plot <- ggplot(df, aes_string(x=df$Year, y=i)) +
    geom_point()
    plot_list[[i]] <- plot
}
plot_grob <- arrangeGrob(grobs=plot_list)
pdf("testUSgraph.pdf")
grid.arrange(plot_grob)
dev.off()

(在初始代码中保存 pdf 的问题可能是因为您忘记了括号,dev.off应该dev.off())

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

循环遍历多个列并在 R 中为每个列绘制一个图? 的相关文章

  • 如何按用户定义(例如非字母顺序)对数据框进行排序[重复]

    这个问题在这里已经有答案了 给定一个数据框dna gt dna chrom start chr2 39482 chr1 203918 chr1 198282 chrX 7839028 chr17 3874 以下代码重新排序dna by ch
  • 如何纠正 data.frame 上的字符编码

    我有一个像这样的数据框 data names lt data frame DATA c 1 5 rownames data names lt c IV xc1N JOS xc9 LUC xcdA RAM xd3N TO xd1O data
  • 如何在 R 中的 for 循环内将值存储在向量中

    我正在开始使用 R 但我对以下问题感到非常沮丧 我试图将 for 循环内完成的某些计算的值存储到我之前定义的向量中 问题是如何进行索引 因为for循环迭代代码的次数取决于用户的输入 所以变量i不一定要从1开始 它可以从80开始 for举个例
  • R Shiny:如何将无功值从闪亮模块返回到主服务器功能?

    我有一个简单的玩具示例 它使用 add removeBtn 模块在 第一个 模块中添加和删除 UI 我需要跟踪单击 添加 删除 的次数 如果我不使用模块 这很容易 但我试图在嵌套模块的上下文中执行此操作 代码如下 但基本上 我似乎无法访问主
  • 在 RcppArmadillo 中将列向量乘以数值标量

    我在编译这个简单的程序时遇到一些麻烦c 代码使用Rcpp和RcppArmadillo包裹 采用以下简单示例 将矩阵的每一列乘以数值标量 code lt arma mat out Rcpp as
  • 在 R 的 for 循环中创建动态命名对象并分配动态值

    我正在尝试创建一套动态命名的新对象 例如 temp2015 使用 for 循环 并存储动态值 具体来说 其他对象的名称 例如 Y2015 和 for 循环中使用的值 例如 2015 在动态命名的新对象中 我不确定为什么下面的代码不起作用 Y
  • 如何声明包含 M 个元素的列表对象

    我想声明一个包含 M 3 x 3 矩阵的列表 如果我事先知道数字 M 那么我可以通过以下方式声明这样的列表 elm lt matrix NA 3 3 Say M 7 myList lt list elm elm elm elm elm el
  • 在 Shiny 中显示反应式 htmlTable 表格

    我正在制作我的第一个 Shiny 应用程序 但找不到任何有关如何显示使用 htmlTable 包创建的表格的示例 我基本上想在按下按钮时创建一个表格并显示它 Shiny 显示 html 代码而不是表格 我不知道用什么替换服务器部分中的 re
  • R在Windows平台Rstudio上打印data.frames中的UTF-8代码

    当数据框中存在UTF 8字符时 将无法正常显示 例如 以下内容是正确的 gt U6731 1 朱 但是当我将其放入数据框中并打印出来时 它是 gt data frame x U6731 x 1
  • data.table 抛出“找不到对象”错误[重复]

    这个问题在这里已经有答案了 我有一个数据表 library data table mydt lt data table index 1 10 当我在全局环境中尝试它时 我可以让它工作 但当我在调试器中或在包测试中使用它时却无法工作 问题是我
  • 使用选定因子水平的值向 ggplot-barchart 添加水平线

    在这个情节中 df lt data frame factor as factor c rep A 3 rep B 3 Treatment c rep c A B C 2 values runif 6 0 1 ggplot df aes Tr
  • 为什么这个 R ggplot2 代码会显示一个空白的显示设备?

    虽然 SO 通常不用于帮助解决错误 但这个显示了特别简单且特别烦人的行为 如果你是一个ggplot2用户 您可以在 10 秒或更短的时间内重现它 正如这个 GitHub 问题 ggplot gtable 创建空白显示 https githu
  • dplyr:连接中的 NSE (by)

    我很难弄清楚如何使用 dplyr left join 和 NSE 连接两个表 问题是我无法为 by 提供正确的值 我想我现在已经找到了解决方案 但感觉我正在以一种额外复杂的方式来做 因此 如果您知道更简单 更优雅的解决方案 请告诉我 这就是
  • 需要在R中跳过不同数量的行

    我正在使用以下代码来处理我的数据 但最近我意识到使用skip 27 在数据开始之前跳过存储在我的文件中的信息 不是一个好的选择 因为每个文件中要跳过的行数不同我的目标是读取存储在多个文件夹中的各种txt文件 并非所有文件都有相同的列数 列的
  • R 中 SVG 图形的最佳设备? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想从 R 导出 SVG 图形 似乎有两种选择 RSvgDevice 和 Cairo 有人可以对这些包发表评论吗 是默认的还是明显比另一个
  • 如何将旋转的 NetCDF 转换回正常的纬度/经度网格?

    我有一个带有旋转坐标的 NetCDF 文件 我需要将其转换为正常的纬度 经度坐标 经度为 180到180 纬度为 90到90 library ncdf4 nc open dat nf 对于尺寸 它显示 1 5 variables exclu
  • R - 基于列名称的子集

    我的数据框有超过 120 列 变量 我想根据列名称创建子集 例如 我想创建一个子集 其中列名称包含字符串 心情 这可能吗 我一般用 SubData lt myData grep whatIWant colnames myData 我很清楚
  • 无法将“gather”输出的列名称更改为默认名称以外的任何名称

    我正在尝试使用gather in the tidyr包 但我无法更改默认名称的输出列名称 例如 df data frame time 1 100 a 1 100 b 101 200 df long df gt gather foo bar
  • 安装 2.15 后 ggplot2 中的 alpha 通道不起作用

    更新到 R 2 15 后 ggplot 中的 alpha 通道似乎不再起作用 plot rnorm 100 rnorm 100 bg cc000055 pch 21 工作得很好但是 qplot rnorm 100 rnorm 100 col
  • 更改ggplot2中的字体

    曾几何时 我改变了我的ggplot2字体使用windowsFonts Times windowsFont TT Times New Roman 现在 我无法摆脱这一切 在尝试设置family in ggplot2 theme 当我用不同的字

随机推荐

  • 使用 CA 签署的另一个证书签署证书

    是否可以使用由 CA 签名的证书作为其他证书的 CA 来签署新证书 并且仍然由根 CA 验证它们 例子 create new key openssl genrsa des3 out server key 2048 openssl req n
  • 如何将文件复制到android的文件系统?

    如何将文件复制到android中的文件系统 位置 我怎样才能访问它 将文件从android复制到本地 adb pull data data com example sample sample 从本地复制文件到android adb push
  • 对常量值使用 def 与 val 有何含义

    使用有什么影响def vs val在 Scala 中定义一个常量 不可变的值 我显然可以写出以下内容 val x 3 def y 4 var a x y 7 这两种说法有什么区别 哪一种表现更好 是推荐的方式 更惯用 我什么时候会使用其中一
  • 如何给Tomcat添加健康检查?

    我想在 Linux 的 Tomcat 上配置一个简单的健康检查 例如 http localhost 8080 health http localhost 8080 health 我一直在检查Tomcat文档 我发现了这个内置的服务器状态站点
  • 如何安装最新版本的 TensorFlow 2?

    我想知道为什么我无法安装TensorFlow 2 0 0 到目前为止稳定版本在他们的官方网站上 https www tensorflow org versions even in PyPi https pypi org project te
  • python 中的弱引用列表

    我需要一个弱引用列表 当它们消失时会删除它们 目前 我执行此操作的唯一方法是不断刷新列表 手动删除死引用 我知道有一个 WeakKeyDictionary 和一个 WeakValueDictionary 但我真的想要一个 WeakList
  • 构造失败通知:非法构造函数

    我的网站使用从未在移动设备上运行过的桌面通知 但我最近开始在 Android 4 4 上的 Chrome 版本 42 0 2311 108 中收到以下异常 Failed to construct Notification Illegal c
  • 如何在页面 API 中获取图像 url 或下载图像的 url,其中图像是由流场创建的?

    在我的 wagtail 应用程序中 我有一个流字段 用于使用 ImageChooserBlock 上传图像以及标题和文本 这意味着在单个流字段中我有一个标题 一个文本和一个图像上传输入 我正在尝试在其余框架的页面 API 中获取图像 url
  • 将 MomentJS 与 TypeScript 结合使用 - moment() 有什么类型?

    我目前正在将我的项目从 ES5 转换为 ES6 但我遇到了 MomentJS 的问题 version 2 18 1 问题是我有一些变量是 Moment 对象 但我无法对它们调用 moment 一个例子 import as moment fr
  • 使用 javascript 捕获桌面屏幕截图

    是否可以使用javascript捕获客户端Windows桌面的屏幕截图 那么在linux和mac操作系统中呢 澄清 这个问题有not被问到或回答 因为我希望捕获整个桌面 而不仅仅是浏览器 我还想捕获 本机 屏幕截图 而不是从某些底层表示重新
  • 为什么我想在一个函数中锁定两个互斥体 - 这也带有延迟锁?

    https en cppreference com w cpp thread lock tag https en cppreference com w cpp thread lock tag void transfer bank accou
  • Grails UrlMapping 重定向以保持 DRY

    我正在与Grails 2 1 1并希望添加一些映射到控制器操作的自定义 URL 我可以做到这一点 但原始映射仍然有效 例如 我创建了一个映射add property to directory in my UrlMappings如下 clas
  • Python 类继承属性错误 - 为什么?怎么修?

    SO 上的类似问题包括 this one https stackoverflow com questions 10268603 python class inheritance attributeerror subclass object
  • 使用 Let 进行子查询的 Linq

    我试图从这个 Linq 查询中获取的是所有广告的列表 其中最近关联的日志与LogType IsStatus true has a LogType Name已确认或已更新 需要明确的是 一个 Advert 有很多 Log 每个 Log 有一个
  • 在 Android 中创建一个没有 Intent 的重复事件并提醒直到特定日期?

    我有一个 Android 应用程序 可以通过服务下载一些药物信息 例如 fludex white round 2 24 02 2012 表示一种名为fludex 白色圆形的药物 从今天到2012年1月24日必须每天服用2次 现在我想在下载药
  • 在 pygame 中堆叠不同类型的透明度

    我有一个自定义 GUI 模块 它使用树中的对象来管理界面 并以正确的顺序将它们逐一传输 现在 在我的对象中 我有一些只是具有每像素透明度的表面 而其他对象则使用颜色键 我的问题是 当将具有每像素透明度的表面传输到另一个填充有色键的表面时 第
  • 在 JS 中具有正确的“this”值

    我有两个类似的 Javascript 对象 var Object2 new function this FetchData function callback do some stuff callback data var Object1
  • 基于元素类的 Angular2 QueryList

    有没有办法找回ViewChildren or ContentChildren按元素类别 这可以通过 id 或组件工作 但不适用于基于类的查询 即classedViewItems and classedContentItems Compone
  • Sql Server CE是否支持MERGE语句

    我正在尝试运行MERGE查询针对Sql Server CE数据库 但它抛出错误 There was an error parsing the query 虽然相同的查询工作正常Sql Server is merge statement no
  • 循环遍历多个列并在 R 中为每个列绘制一个图?

    我有一个数据集 其中第一列是 年份 接下来的五十列是美国每个州的数据 我想在一个 pdf 中生成多个图 将每个 州 列与 年 列相匹配 即 1 和 2 1 和 3 1 和 50 我认为循环第 2 50 列将是一个很好的解决方案 但我无法让它