ggplot2 具有多个参数的绘图函数

2024-02-24

我得到了这个功能。

change <- function(score, d, k, p) {k*(score - 1/(1+k^(d/p)))}

我想在一个图中绘制该函数对于一系列参数 d 和 p 的所有结果。在 r 基数中,就是这样。

parameters <- c(100:400)
colorshelf <-rainbow(length(parameters)) #red is low
for(i in seq_along(parameters)) {
    print(i)
    curve(change(score=1, d=x, k=100, p=parameters[i]), from=0, to=500, add=T, col=colorshelf[i])
}

但我认为这在 ggplot2 中一定是可能的,但我无法理解这一点。我目前被这个问题困扰。任何帮助表示赞赏。

ggp <- ggplot(data.frame(Ds=c(0:1000), Ps=c(0:1000)), aes(x=Ds, col=Ps)) + 
    stat_function(fun=change, args=list(score=1, d=Ds, k=100, p=Ps))
ggp

我会在外面做这件事ggplot2。我认为这可能是太多的期望ggplot对两个不同的参数进行矢量化...

这是用 tidyverse 实现的,但可以很容易地完成apply以及。

 library(dplyr)
 change <- function(score, d, k, p) {k*(score - 1/(1+k^(d/p)))}
 dd <- expand.grid(d=0:1000,p=0:100)
 dd %>% rowwise %>%
     mutate(c=change(score=1,d=d,k=100,p=p)) ->
  dd2

 library(ggplot2)
 ggp <- ggplot(dd2,aes(d,c,col=p,group=p))+
            geom_path()

我只做了p从 0 到 100(而不是 0 到 1000),因为 100 万个点对于 ggplot 来说是一个相当大的数据集。 (您真的需要查看 1000 个单独的值吗?也许seq(0,1000,length=100) ?

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

ggplot2 具有多个参数的绘图函数 的相关文章

  • 使用 ggplot_build 和 ggplot_gtable 后使用 ggsave 保存图形

    我正在通过更改 ggplot build 生成的数据来修改使用 ggplot 构建的图表 原因类似于包括 geom boxplot 中填充美学中使用的缺失因子水平的空间 https stackoverflow com questions 1
  • 如何处理重叠的因子水平? (例如,生成表格和图表时)

    我面临一个数据集的问题重叠因素水平 我想按因素级别生成时间线 条形图和统计数据 但是 我希望因子水平是模棱两可的 这意味着属于多个级别的观察结果应该在图中出现多次 这是我的数据结构的示例 head lt c ID YEAR BRAZIL G
  • 使用facet时ggplot2控制每行的面板数量?

    Is it possible to control the number of panels per row in a ggplot I can only get an equal number of panels on each row
  • R中不同级别的李克特分组

    我想使用 Likert 包 并按变量分组并绘制结果 问题是我想要可视化的变量有不同的级别 有没有解决的办法 一个简单的例子来说明我的问题 library reshape library likert foo lt data frame ca
  • 在knitr中打印漂亮的交叉表

    我想要的是使用 R Markdown 和 knit 从 RStudio 打印漂亮的交叉表 无论是在 pdf 文件中 还是在 html 文件中 我怀疑我错过了一些非常明显的东西 因为我不敢相信这是如此困难 我使用 xtabs 或 ftable
  • 在R中绘制3x3方形网格

    我得到了一个数字列表 n 9 想将它们画在一个 3 3 的正方形网格中 每个网格填充相应的数字 我如何在 R 中执行此操作而不安装额外的软件包 例如情节 非常感谢 这里有一个ggplot解决方案比我预期的要难一点 Setup the dat
  • 将函数应用于每个列组合

    我有一个数据框n列并希望对每个列应用一个函数组合列 这与如何cor 函数将数据帧作为输入并生成相关矩阵作为输出 例如 X lt data frame A rnorm 100 B rnorm 100 C rnorm 100 cor X 这将生
  • 为 ggplot 定义新的尺度轴变换

    我正在尝试创建一个squared使用 y 轴变换scales trans new但遇到错误 MWE data data frame x 1 10 y runif 10 z rnorm 10 10 library ggplot2 ggplot
  • 在 R 中打印绘图时第一页为空

    我正在尝试创建一个包含多个图的pdf 更具体地说 我想保存我的图 每页 4 个 因此 我在 r 中有以下代码 可以工作 但将页面留空 第一个 pdf Plots plots numeric four in page pdf paper a4
  • 如何转置 R markdown 文档中的表格?

    假设我打印一个名为summary table的数据框 如下所示 summary table data frame a c 1 2 3 b c 11 12 13 c c 21 22 23 d c 31 32 33 e c 41 42 43 f
  • R 中使用 randomForest 进行内存高效预测

    TL DR我想知道使用基于大型数据集 数百个特征 数十万行 构建的随机森林模型执行批量预测的内存有效方法 Details 我正在处理一个大型数据集 内存中超过 3GB 并且想要使用以下方法进行简单的二进制分类randomForest 由于我
  • 如何获得 R 帮助?

    R 包可能有哪些可用文档 例如我尝试理解sp包裹 此外help sp 还有哪些用于搜索帮助和文档的其他功能 获取有关您知道其名称的函数的帮助 Use http www inside r org r doc utils Question或者
  • 当添加列较少时追加到现有 SQLite 表,而不将数据库读入 R

    是否有一些简单的方法 无论是在 SQL 端还是在 R 端 将 data frame 附加到具有更多列的现有表 缺失的列应该用 NA 填充 如果它能够优雅地处理比表 1 列数更多的表 2 那么会加分吗 library RSQLite Crea
  • 创建后修改 ggplot 对象

    有没有首选的修改方式ggplot创建后的对象 例如 我建议我的学生将 r 对象与 pdf 文件一起保存以供以后更改 library ggplot2 graph lt ggplot mtcars aes x mpg y qsec fill c
  • 计算数据框中每一行的 R 条件运行总和

    我想创建一个等于 data Rating 的运行总和的列 假设第 3 列和第 4 列中有两个条件成立 特别是 data Year 换句话说 这应该计算直到上一年为止每个 id 的评分累积总和 它应该对数据框中的每一行 大约 50 000 行
  • 计算数据帧 R 中字符串的频率

    我想计算数据框中某些字符串的频率 strings lt c pi pie piece pin pinned post df lt as data frame strings 然后我想计算字符串的频率 counts lt c pi in pi
  • 如何在r中进行左连接[重复]

    这个问题在这里已经有答案了 我有两个数据集一和二 数据集一 a b c 111 a 1 112 b 2 113 c 3 114 d 4 115 e 5 数据集二 e d g 222 ss 11 111 ff 22 113 ww 33 114
  • 删除绘图轴值

    我只是想知道是否有一种方法可以消除 r 图中的轴值 分别是 x 轴或 y 轴 我知道axes false将摆脱整个轴 但我只想摆脱编号 删除 x 轴或 y 轴上的编号 plot 1 10 xaxt n plot 1 10 yaxt n 如果
  • 作为动画的八度情节点

    我有以下八度脚本 TOTAL POINTS 100 figure 1 for i 1 TOTAL POINTS randX rand 1 randY rand 1 scatter randX randY hold on endfor 当我运
  • R 编程中的字符串分割

    目前 下面的脚本将组合的项目代码拆分为特定的项目代码 rule2 lt c MR df 1 lt test grep paste rule2 sep collapse test Name y SpaceName 1 lt function

随机推荐

  • 如何使用 StAX XML 解析器捕获属性事件?

    我尝试使用 StAX XML 解析器解析 XML 文件 它给我START ELEMENT and END DOCUMENT事件但没有ATTRIBUTE事件 我怎样才能收到ATTRIBUTE使用 StAX 解析器的事件 My XML
  • 验证错误后,后续 ajax 请求从 UI 组件获取值,而不是从 Bean 获取值

    在我基于 JSF 2 的应用程序中 我有一个表单 其中包括 以及其他 UI 组件 一些复选框 在复选框上 我注册了 ajax 请求 在选中它们时会触发这些请求 ajax 请求实际上只会更新支持 bean 中另一个复选框的值 因此 另一个复选
  • 如何从 Jinja 2 模板获取当前变量列表?

    如果我像这样返回 Jinja2 模板 return render response home htm context 那么如何从模板中获取上下文中的变量列表 从技术上讲 由于上下文不是作为命名字典传递的 因此需要做一些工作才能从模板内部生成
  • H1 在左边,“按钮”在右边,垂直对齐

    我试图在一行上显示 与包含框左侧对齐的 H1 元素 几个 按钮 此处为 A 元素 与包含框的右侧对齐 都在同一基线上 是否可以用最少的标记 即没有换行元素 来做到这一点 而不必设置精确的高度 行高 边距顶部等 div h1 What a g
  • 通过 Visual Studio 2010 安装 .NET Framework 作为 ClickOnce 应用程序部署的一部分时出现错误代码 5100

    在 Visual Studio 2010 中 我已将应用程序设置为面向 NET Framework 版本 4 和 所有 CPU 由于我们的一些用户是 64 位 而其他用户是 32 位 我假设用户会选择 所有 CPU 那是对的吗 在特定用户的
  • 将 PHP 数组排序为列

    我有一个 mysql 表 其中包含以下字段 名称 年份 描述 我想按年份按顺序显示 但想按十年分成列 我的 PHP 技能相当薄弱 所以我只知道如何根据年份范围进行单独的查询
  • 为 UIButton 添加背景阴影

    如何给图片添加浅灰色阴影UIButton 我现在不想要一个方法来做到这一点 它应该是这样的 UIButton button1 button1 layer shadowOpacity 0 8 等等 但这不起作用 它只会在按钮内部添加阴影 但我
  • JUnit 5 - 为整个测试套件提供设置和拆卸

    我的要求是为一组测试完成一些初始化 并在所有测试完成后将其清除 这些测试涉及一些测试类 因为它们并不密切相关 但需要共同的初始化 我在用 SelectClasses形成套件并尝试利用 ExtendWith使用应该处理预处理和后处理的自定义扩
  • 如何使用 Ruby on Rails 操作 DOM

    正如标题所说 我有一些 DOM 操作任务 例如 我想 找到所有具有蓝色的 H1 元素 查找所有大小为 12px 的文本 ETC 我怎样才能用 Rails 做到这一点 谢谢 Update 我一直在根据这篇论文做一些关于提取网页内容的研究 gt
  • 科尔多瓦人行横道不建造

    我相信我下载过的每个版本的 Crosswalk Cordovahttps download 01 org crosswalk releases crosswalk android https download 01 org crosswal
  • 带有 Express.js 虚拟主机的子域上的 Socket.IO

    我的服务器上运行着两个 Express js 应用程序 一个普通的应用程序称为 main app 另一个使用 Socket IO 的应用程序称为 socket app 我在 mydomain com 上运行 main app 在 socke
  • 构建 VLC 时需要 NDKv8b 或更高版本

    我已经在 android 中构建了 VLC 并使用代码实现 jack export ANDROID SDK android sdk jack export ANDROID NDK android ndk r9d jack export PA
  • 设置 UITableViewCell 的动态高度,其中仅包含图像(可变高度)

    我有一个 UITableView 其单元格仅包含可变高度的图像 我根据图像动态设置行高 它不能完美工作 滚动时的图像有时会重叠 这是代码 NSInteger numberOfSectionsInTableView UITableView t
  • Symfony2 中的路由

    如何在 Symfony2 中设置默认路由 在 Symfony1 中它看起来像这样 homepage url param module default action index default symfony url symfony acti
  • 是什么阻止我在我的开发盒上专门使用 IIS Express?

    我只阅读了一些有关 IIS Express 的内容 并且正在阅读并立即安装 看来我应该能够正确卸载 IIS 并在 Visual Studio 2010 SP1 中开发 调试基于 Web 服务器的技术时使用 IIS Express 这是一个明
  • Facebook 不从 og:image 加载图像

    它已经可以工作了 但今天我很惊讶 当我尝试分享链接时 Facebook 没有显示来自 og image 元标记的图像 from 脸书调试器 http developers facebook com tools debug og object
  • 使用 Google 脚本永久删除我的电子邮件的脚本

    Gmail Users Messages remove userId id 是如何工作的 电子邮件的 ID 是什么 永久删除电子邮件的正确功能是什么 就我而言 我想立即明确地删除所有已发送的电子邮件 这是我从某人那里获取的一些代码 只是带有
  • Python 和“re”

    我在 python 中关于 Regex 的教程解释了如何在 python 中使用 re 模块 我想从 A 标签中获取 URL 因此知道 Regex 我编写了正确的表达式 并在我选择的正则表达式测试应用程序中对其进行了测试并确保它工作了 当放
  • 如何在 OSX Catalina (10.15) 中使用 Wireshark 捕获 USB 流量

    我正在尝试让 Wireshark USB 捕获工作 显然 Catalina 之前的技巧就是调出界面 以便 Wireshark 可以看到它 https forums developer apple com thread 95380 https
  • ggplot2 具有多个参数的绘图函数

    我得到了这个功能 change lt function score d k p k score 1 1 k d p 我想在一个图中绘制该函数对于一系列参数 d 和 p 的所有结果 在 r 基数中 就是这样 parameters lt c 1