函数内的 ggplot:它什么时候不识别参数,什么时候识别参数? [复制]

2024-03-04

考虑以下两个函数:

library(ggplot2)

testdata <- as.data.frame(cbind(rep(c(1, 4), each = 50), rbinom(100, 50, .5)))
names(testdata) <- c("group", "value")

plotfun1 <- function(color) {
  ggplot(data = testdata, aes(x = factor(group, levels = c(0: 4)), y = value)) + 
    geom_boxplot(color = color) 
}

plotfun2 <- function(number) {
  ggplot(data = testdata, aes(x = factor(group, levels = c(0: number)), y = value)) + 
    geom_boxplot(color = 'red') 
}

Plotfun1 工作完美,调用

plotfun1('red') 

产生两个漂亮的红色箱线图。然而打电话

plotfun2(4)

产生错误消息:

因子错误(组,级别 = c(0:数字)):未找到对象“数字”

显然在某些情况下 ggplot 无法“找到”函数的参数,但在某些情况下确实如此。这里发生了什么?

PS我知道有一个简单的解决方法:

plotfun3 <- function(number) {
  plotdata <- testdata
  plotdata$group <- factor(plotdata$group, levels = c(0: number))
  ggplot(data = plotdata, aes(x = group, y = value)) + 
    geom_boxplot(color = 'red') 
}

我只是想了解发生了什么事。)


捕获本地环境并在绘图时使用它:

plotfun2 <- function(number) {
localenv <- environment()
  ggplot(data = testdata, aes(x = factor(group, levels = c(0:number)), y = value), environment = localenv ) + 
    geom_boxplot(color = 'red') 
}

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

函数内的 ggplot:它什么时候不识别参数,什么时候识别参数? [复制] 的相关文章

  • 将密度曲线拟合到 R 中的直方图

    R中有没有可以将曲线拟合到直方图的函数 假设您有以下直方图 hist c rep 65 times 5 rep 25 times 5 rep 35 times 10 rep 45 times 4 看上去很正常 但其实是歪曲的 我想拟合一条倾
  • R 中的 NA 替换函数

    我正在尝试替换矩阵中的 NA mat 零 我在用着mat is na mat lt 0 当我有 18946 个变量的 94531 个观察值或更小的矩阵时 效果很好 但我在 22752 个变量的 112039 个观察值的矩阵上尝试它 R 显示
  • 在 mac (iMac OSX ) 终端中远程运行脚本(r 脚本)到其他计算机

    我有一个小示例脚本 script p r 如下所示 打算在终端中运行 usr bin Rscript sink output capture txt mn lt mean 1 10 and so on much longer list of
  • 查找数据帧列表中同一列中的所有重复值并将其转换为 NULL

    我有一个清单BELGIAN COAST list包含数百个数据帧 df1 df2 15 列 X 1000 行 每个数据帧的最后一列称为Chemicals并包含一些字符 例如Sulfate or Ammonia 但是这一列有很多行Chemic
  • 使用 dplyr:group_by 将数据帧分成多个子集?

    有没有办法根据 group by 组使用 dplyr 将一个数据帧拆分为数据帧的子集 mtcars gt group by cyl gear gt codes 非常感谢 好吧 并不是你真的想要 但你可以这样做tidyr 即nearly一样的
  • 如何在 R 中为传单中的数值变量设置不对称颜色渐变

    我想让传单调色板以零为中心 红白绿发散 我已经尝试过中所说的这个帖子 https stackoverflow com questions 29262824 r center color palette on 0 当我尝试手动创建颜色时 我得
  • 将 sf voronoi 多边形裁剪到边界框时出错

    我正在尝试将 voronoi polygons 使用 sf package 创建 剪辑 到边界框 但它引发了我无法定义的错误 我对 R 的空间世界不太有经验 感谢所有帮助 样本数据 stations lt structure list ST
  • 根据另一列中的键累积一列中的值时出现问题

    我有一个看起来像这样的数据框 我需要使用 PROJ ID 列中的字符串创建一个新的值列 并形成 PROJ NAME 列中的值字符串 这里提供的解决方案 根据 r 中另一列的键累积一列中的值 https stackoverflow com q
  • 如何更改 Shiny 中 navbarPage 折叠的断点

    我想用shiny navbarPage collapsible TRUE 当在小屏幕上查看我的 Shiny 应用程序时 将导航元素折叠到菜单中 默认情况下 当浏览器宽度小于 940 像素时会触发折叠 有什么方法可以改变这一点 以便在稍大的浏
  • R 更改小数位且不四舍五入

    gt signif 1 89 digits 2 1 1 9 我想要1 8 这有点笨拙 但它会起作用并保持所有数字 x lt 1 829380 trunc dec lt function x n floor x 10 n 10 n Resul
  • 将函数应用于 3d 数组的每一层,返回一个数组

    假设您有一个包含行 列和层的 3 维数组 A lt array 1 27 c 3 3 3 想象你有一个函数 它接受一个矩阵作为输入并返回一个矩阵作为输出 就像t 如何将该函数应用于数组的每一层 返回与第一层大小相同的另一个数组 我觉得我应该
  • 解析,用三点参数替换

    让我们考虑一个典型的deparse substitute R call f1 lt function u x y print deparse substitute x varU vu varX vx varY vy f1 u varU x
  • R:表格格式

    我有一个包含以下列的 Excel 文件 Column1 Column2 Column3 ab bb 0 5 ab bc 0 1 ab cd 0 7 ab dd 0 8 ac bb 0 2 ac bg 0 8 ac ee 0 8 ac dd
  • r 中的 5 维图

    我正在尝试在 R 中绘制 5 维图 我目前正在使用rgl包以 4 个维度绘制数据 使用 3 个变量作为 x y z 坐标 另一个变量作为颜色 我想知道是否可以使用这个包添加第五个变量 例如空间中点的大小或形状 这是我的数据和当前代码的示例
  • R - 通过覆盖和递归合并列表

    假设我有两个带有名字的列表 a list a 1 b 2 c list d 1 e 2 d list a 1 b 2 b list a 2 c list e 1 f 2 d 3 e 2 我想递归地合并这些列表 如果第二个参数包含冲突的值 则
  • 为什么 geom_boxplot 比基本箱线图识别更多异常值?

    这是一个可重复的示例 与基本箱线图相比 最后一个治疗组又发现了一个异常值 dta lt structure list Treatment c A A A A A A A A A A A A A A A A B B B B B B B B B
  • 使用 dplyr::filter 的整洁方式是什么?

    使用下面的函数调用foo c b 输出以内联方式显示 正确的写作方式是什么df gt filter x gt x 我已经包含了一个使用的示例mutate以整洁的风格与之对比filter foo lt function variables x
  • 16 位以上整数的计算

    我有两个大整数 两者都超过 16 位 确切地说是 20 位 而且我知道由于双精度浮点运算 我在使用这些数字进行计算甚至将它们存储在变量中 独立于编程语言 时受到限制 不过 我想也许gmp图书馆应该处理它们 但不幸的是它没有 可以计算更大的整
  • 如何匹配 R 中的所有匹配项?

    我有 1000 个名字的列表 说A 我还有另外 5 个名字的清单 说B 我想找出这5个名字出现在1000个号码列表中的第几行 例如 Amy 在 A 中可以出现 25 次 B 里有艾米 我想知道 Amy 出现在 A 中的哪些行 我以前使用过
  • 非闪亮上下文中的反应式对象绑定

    实际问题 你怎样才能近似反应性环境 行为 http shiny rstudio com tutorial lesson6 建立者shiny http shiny rstudio com函数 或者甚至可能在一个函数中使用这些函数无光泽上下文以

随机推荐

  • 将 jquery 日期选择器位置设置为文本字段的顶部

    Jquery datepicker 显示在测试字段下 有时它会出现在文本字段的顶部 但我想始终将日期选择器显示在测试字段的顶部 怎么做 以下代码将始终将日历放置在输入字段的顶部 txtDate datepicker beforeShow f
  • Google Drive 将元数据添加到文件

    我想使用 googledrive api 来搜索文件 我想向其中添加元数据 Example File computers1 pdf Brand brand1 File computers2 pdf Brand brand2 File com
  • 在 ER 图中定义实体、属性和关系的基本规则是什么?

    构建 E R 图时 以下哪项必须具有关键and属性 entity 实体类型 关系类型 关系 具有关系类型的元组 在原始的实体 关系方法中 我们识别实体类型和关系 关联类型及其相关属性 在绘制 ER 图时 我们选择一组或多组可以将类型实例标识
  • 在 Windows 7 家庭普通版上找不到 IIS

    我刚刚购买了一台全新的联想 idealpad 笔记本电脑 运行 Windows 7 Home Basic 库存中没有操作系统 DVD 但笔记本电脑确实有操作系统恢复软件 如果您想将它们刻录到 DVD 上的话 我想今天大多数硬件都是这样销售的
  • Go 中如何处理 i18n?

    我在网上搜索但没有找到任何与 i18n 和 Go 相关的内容 我希望使用 Go 来开发网站 应对国际化的最佳方式是什么 go i18n http nicksnyder github io go i18n 有一些不错的功能 实施CLDR 复数
  • 如何查询 SQL Server TEXT 列中包含 XML(不是 xml 列类型)的值

    我有表文档 DOCUMENTS DOCUMENTID int USERID int CONTENT text 我在 SQL Server 数据库中将以下 XML 存储在名为 CONTENT 的 TEXT 列中
  • 如何使用 spring DSL 在camel 中记录标头值

    这看起来应该很简单 请原谅双关语 我正在尝试在 Spring DSL 路由中的 Camel 中记录标头 我已经看到了答案Java DSL https stackoverflow com questions 15111044 how to a
  • ASP.NET:显式本地化与隐式本地化?

    在我看来 隐式本地化相对于显式本地化的优势在于 如果您有多个属性要针对给定控件进行本地化 那么这是一种更经济的语法 如果您只需要本地化一些文本 我会使用 asp Localize 控件 该控件仅具有呈现到 UI 的单个属性 文本 有理由使用
  • 如何平滑圆角矩形的角,Swing?

    当我尝试制作圆角矩形时 我的角变得非常像素化 有什么办法可以平滑它们吗 这是一张图片 注意角落 以下是我子类化并重写绘制方法的按钮的代码 带有像素化角的按钮 public class ControlButton extends JButto
  • .NET 类型的私有成员的命名约定 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将参数从服务器端 PHP 传递到客户端 JavaScript 的最安全方法是什么[重复]

    这个问题在这里已经有答案了 在我的应用程序中 我严重依赖 JavaScript 来增强用户界面 但所有数据都来自数据库并由 PHP 处理 默认情况下 我使用 echo 语句来 及时 替换所需的值 如下所示 var myVariable 然而
  • 根据州名缩写在美国地图上绘制数值

    我有一个包含所有状态的数据 如下所示 在这里提供一个样本 state name value x AL 250 AK 900 MT 1000 NJ 10000 WY 500 现在我需要根据州缩写在美国地图上绘制这些数字 value x 我尝试
  • 外键未填充主键值

    我已经寻找答案但没有找到 我有 2 张桌子 两者都有自动生成的 PK 表 2 中的 PK 是表 1 中的 FK 由于它们都是自动生成的 因此我假设表 1 中的 FK 将使用表 2 自动生成的值填充 但它不起作用 表1中的FK最终为空 这是我
  • Angular Material 通过 $http 调用自动完成

    我想做的是角度材质自动完成 md 自动完成 https material angularjs org latest api directive mdAutocomplete 其中的数据是从对我的 REST API 的 AJAX 调用中动态检
  • 不使用左手递归解析布尔表达式

    我正在尝试匹配这个 f some thing something else f 某物 是一个函数调用 它是一个表达式 是一个布尔运算符 别的东西 是一个字符串 也是一个表达式 所以布尔表达式应该是 expression operator e
  • 部署新版本后,即使清除缓存后,浏览器也会看到旧版本的 Angular 应用程序

    我有一个 Angular 11 应用程序 正在使用以下命令构建用于在生产中部署 npm install npm run build prod outputHashing all 我遇到的问题是 部署后 当我使用浏览器访问应用程序的 URL
  • 如何动态添加更多组件 React Native

    我想在单击按钮后添加更多组件 您可以分享代码或想法以便我可以实施吗 如图所示 每次用户单击添加按钮时 都会添加一行 组件 这是哪里state https facebook github io react native docs state
  • 引用 Oracle 中视图的外键

    我尝试使用外键引用视图 但收到此错误 错误 ORA 02270 此列列表没有匹配的唯一键或主键 不过 我已在此视图上创建了一个主键 并在 TOAD 的 约束 选项卡中对其进行了验证 这是我试图创建的表 CREATE TABLE QUESTI
  • Cronjob:找不到命令

    我有一个如下的 cronjob 10 root cd some directory python3 FILE py gt gt Output txt 2 gt 1 如果我从常规命令行运行该命令 它工作正常 但是当从 cronjob 运行时
  • 函数内的 ggplot:它什么时候不识别参数,什么时候识别参数? [复制]

    这个问题在这里已经有答案了 考虑以下两个函数 library ggplot2 testdata lt as data frame cbind rep c 1 4 each 50 rbinom 100 50 5 names testdata