dplyr 中的标准评估:全局环境中的函数出现“无法找到函数”错误

2024-05-16

我试图在 dplyr 中对全局环境中的函数使用标准评估,但出现“无法找到函数”错误。这是一些代码

# create data.frame
df <- data.frame(x = rnorm(10), y=rnorm(10))
# define arbitrary function
test <- function(x) x^2
# use standard evaluation with dplyr
df %>% mutate_("mean(x)")
df %>% mutate_("test(x)")
# Error in mutate_impl(.data, dots) : could not find function "test"

我可以通过使用来规避这个问题df %>% mutate_(~test(x))但出于各种原因我想使用基于字符串的方法。主要原因是用户可以传递变量名向量x到我的功能。我可以使用这个向量通过传递类似的东西来对所有变量应用相同的转换as.list(sprintf('mean(%s, na.rm=TRUE)', x)) to .dots。这是完整的代码

x <- c('x','y')
df %>% mutate_(.dots=as.list(sprintf('mean(%s, na.rm=TRUE)', x)))
df %>% mutate_(.dots=as.list(sprintf('test(%s, na.rm=TRUE)', x)))

所以我的问题是为什么基于字符串的方法不适用于全局环境中的函数?我该怎么做才能让它发挥作用?或者是否可以采用基于公式的方法,以便它可以处理变量名称的向量?

会话信息()输出

R version 3.1.1 (2014-07-10)
Platform: x86_64-apple-darwin13.4.0 (64-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] magrittr_1.5            dplyr_0.3.0.2           plyr_1.8.1              maptools_0.8-30         sp_1.0-16               Rcpp_0.11.3            
 [7] matrixStats_0.10.0      rgeos_0.3-8             stringr_0.6.2           mvtnorm_1.0-0           RcppArmadillo_0.4.400.0 Defaults_1.1-1         

loaded via a namespace (and not attached):
[1] assertthat_0.1    DBI_0.3.1         foreign_0.8-61    grid_3.1.1        lattice_0.20-29   lazyeval_0.1.9    parallel_3.1.1    R.methodsS3_1.6.1
[9] tools_3.1.1   

None

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

dplyr 中的标准评估:全局环境中的函数出现“无法找到函数”错误 的相关文章

  • 在R中的箱线图中添加不同的百分位数

    我对 R 不太熟悉 最近用它来制作一些箱线图 我还在箱线图中添加了平均值和标准差 我想知道是否也可以在不同的百分位数中添加某种刻度线或圆圈 假设我想在每个小时箱线图中标记第 85 个 第 90 个百分位数 有没有办法做到这一点 我的数据包含
  • str_count 具有重叠子字符串

    我正在尝试计算字符向量中子字符串的出现次数 例如 lookin lt c babababa bellow ra baba searchfor lt aba str count lookin searchfor 返回 2 0 1 但是 我希望
  • R中引用和表达式的区别

    gettypes function x paramx substitute x print typeof paramx print class paramx print mode paramx gettypes expression sin
  • Eclipse 和 R 中的 StatET

    我已经成功地将 StatET 安装到 eclipse 中 并且我有一个名为 Test 的 Java 项目 其中包含一些代码 我希望能够在该项目文件夹中保留 R 文件并将其作为独立的 R 脚本运行 与 Java 程序分开 我怎样才能做到这一点
  • 检查相等性

    我想检查数据集的相等性 数据集看起来像这样 Equips lt c 1 1 1 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 6 7 8 Notifs lt c 10 10 20 55 63 6
  • R:如何跨行应用xts对象?

    我有以下 xts 对象 x lt structure c 30440 5 30441 30441 5 30441 5 30441 30439 5 30440 5 30441 30441 5 NA NA 30439 5 NA NA NA 30
  • 如何更改现已弃用的 dplyr::funs() (其中包含 ifelse 参数)?

    非常基本 但我认为我并没有真正理解这一变化 library dplyr library lubridate Lab import sql lt Lab import gt select if sum is na gt 0 gt mutate
  • 如何更改 geom_bar 中条形之间的间距?

    我有一个两边都有正值的条形图 当我改变条形的宽度时 它们之间的空间变得很大并且看起来不太好 我试图用它来操纵它position position dodge 但它不起作用 如何减少栏之间的空间 这是代码 最初发布在这里与 x 轴交叉的堆积条
  • R 中带有 ggplot 的背景带

    我正在尝试为不同的组创建箱线图 我想用 3 个水平条带为背景着色 中心观测值 其中所有观测值均接近总体平均值 平均值 体重 0 5 另外 2 个带是下面的和上面的 这些是我的情节 library ggplot2 bp lt ggplot d
  • ggplot2 密度直方图,宽度=.5,vline 和居中条形位置

    我想要一些离散数据的良好密度 总和为 1 直方图 我尝试了几种方法来做到这一点 但没有一种方法完全令人满意 生成一些数据 data set seed 999 d test data frame score round rnorm 100 1
  • 数据表中的最大行数

    我的 data table 中有一个包含 8 000 000 行 100 列的数据集 其中每列都是一个计数 我需要找到每行的最大计数以及该最大值位于哪一列 我可以使用以下命令快速获取每行的哪一列具有最大值 dt lt dt maxCol w
  • 从组成员数据创建加权图

    假设我有一个 R 数据集 指示组内的个体 这是一个例子 grp lt c 1 1 1 2 2 2 2 3 3 3 4 4 4 5 5 ind lt c A C D B C D E A D E B F E A F data frame grp
  • 在 R 中使用 k-NN 和分类值

    我希望对主要具有分类特征的数据进行分类 为此 欧几里得距离 或任何其他数值假设距离 不适合 我正在寻找 R 的 kNN 实现 其中可以选择不同的距离方法 例如汉明距离 有没有一种方法可以使用常见的 kNN 实现 例如具有不同距离度量函数的
  • 如何在 Windows 上使用 freeType 构建 rgl

    我正在尝试 并且非常失败 建立rgl封装有freeType在 Windows 上 因为事实证明 rgl我通过 Rgui 安装的 Windows 二进制文件不包括freeType支持 我需要它的原因是this https stackoverf
  • R 将向量重塑为多列

    假设我在 R 中有一个向量 如下所示 d lt seq 1 100 我想将这个向量重塑为 10x10 矩阵 这样我就可以得到以下数据 1 2 3 10 1 2 3 10 11 12 13 20 21 22 23 30 91 92 93 10
  • R文本文件和文本挖掘...如何加载数据

    我正在使用 R 包tm我想做一些文本挖掘 这是一个文档 被视为一个词袋 我不明白有关如何加载文本文件并创建必要的对象以开始使用诸如 之类的功能的文档 stemDocument x language map IETF Language x 所
  • 带有 rename_with 的 Purrr 地图

    我正在尝试清理数据集的名称 我用过janitor clean names 开始 但是 我仍然有缩写想用下划线分隔开 我有可以使用的代码rename with str replace x gh gh cols starts with gh 但
  • 如何制作 POSIXct 的空向量

    我想制作一个空向量POSIXct这样我就可以放一个POSIXct in it vec lt vector POSIXct 10 vec vec 1 lt 2014 10 27 18 11 36 PDT vec 那是行不通的 有任何想法吗 由
  • rollapply 可以返回矩阵列表吗?

    我想使用滚动窗口生成协方差矩阵 和均值向量 但在我所有的尝试中rollapply堆叠协方差矩阵cov并且耗尽了预先分配的空间 例如 如果我的原始数据有 40 个观察值 那么rollapply不能返回超过 40 行 有什么方法可以让我得到ro
  • 是否有任何 R 函数可以将链接的值可视化为节点内的文本?

    我正在使用 R 包networkD3绘制以下桑基图 这些值设置链接的大小 我需要一个在节点内添加与文本相同的值的函数 Library library networkD3 library dplyr Make a connection dat

随机推荐

  • PHP URL 验证

    我知道有无数的线程问这个问题 但我一直无法找到一个可以帮助我解决这个问题的线程 我基本上试图解析大约 10 000 000 个 URL 的列表 确保它们根据以下标准有效 然后获取根域 URL 此列表包含您能想象到的几乎所有内容 包括类似的内
  • 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

    如果我们想删除我们使用的所有文件和目录 rm rf 但是 如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办 有什么命令可以做到这一点吗 rm rf 可以轻松地一次性删除 甚至可以删除我最喜欢的文件 目录 提前致谢 find ht
  • jQuery 可以操作插入的元素吗?

    我是 jQuery 的新手 我认为 jQuery 可以操作由代码添加的元素是合理的 但我发现现在还不能 function addVideo click function publisher append div div
  • 使用 PHP 修剪字符串开头的任何零

    用户将在字段中填写与其帐户相关的数字 不幸的是 一些用户会在号码开头添加零来组成六位数字 例如 000123 001234 而其他用户则不会 例如 123 1234 我想 修剪 前面带有零前缀的用户的数字 因此如果用户输入 000123 它
  • 使用 ZBarSDK 时 iPhone 相机失去自动对焦功能

    我正在开发一个应用程序 用户可以选择是否要扫描条形码或拍摄某物的照片 为了拍照 我正在使用UIImagePickerController照常 为了扫描条形码 我使用 ZbarSDK 1 2ZBarReaderViewController 拍
  • React中如何触发同级组件的函数?

    I am new to front end world and could not figure out how to trigger a function from a sibling component Lets say I have
  • UILabel 中的文本未垂直居中

    我使用以下代码创建了一个标签 func setupValueLabel valueLabel numberOfLines 1 valueLabel font UIFont name Avenir Black size 50 valueLab
  • 指示电子邮件的类型

    我有以下自动化程序 它将电子邮件发送给我自己 并添加了特定的链接 import win32com client as win32 import easygui import tkinter as to from tkinter import
  • 将 N 种类型的参数包折叠成 N-1 对

    我正在尝试折叠参数包N不同类型分为std tuple of N 1 std pairs与各自的类型 例如表达式 ResolveToTupleOfPairs
  • 导入模块 WebAdministration 不会从脚本加载,但会从命令行加载

    我正在进行一个使用的项目PowerShell编写构建脚本 该构建利用了WebAdministration模块来管理本地 IIS 实例 当我运行构建脚本时 尝试导入时会引发以下错误WebAdministration 错误 06 29 2016
  • 简单 Haskell Monad - 随机数

    我正在尝试扩展代码这个帖子 https stackoverflow com questions 3944170 haskell and state 接受的答案 允许我能够基于以种子作为参数的函数 randomGen 调用 randomGen
  • 重写 getPreferredSize() 会破坏 LSP

    我总是在这个压倒一切的网站上看到建议getPreferredSize 而不是使用setPreferredSize 例如 如前面的线程所示 对于固定大小的组件 使用重写 getPreferredSize 而不是使用 setPreferredS
  • Java 卡布局。多张卡中的一个组件

    一个组件 例如JLabel 在多张卡中使用CardLayout 目前看来该组件仅出现在它添加到的最后一张卡上 如果有办法做到这一点 我应该吗 这是不好的做法吗 或者有其他选择吗 你是对的 它只出现在 添加到的最后一张卡 中 但这与CardL
  • cameraOverlayView 防止使用 allowedEditing 进行编辑

    在我的应用程序中 使用以下行在拍摄照片后对其进行编辑 移动和缩放 效果很好 imagePicker setAllowsEditing YES 但如果我还使用cameraOverlayView 则编辑模式将不再起作用 屏幕出现 但平移和捏合手
  • 数据框 - 平均列

    我在 pandas 中有以下数据框 Column 1 Column 2 Column3 Column 4 2 2 2 4 1 2 2 3 我正在创建一个数据框 其中包含第 1 列和第 2 列 第 3 列和第 4 列等的平均值 ColumnA
  • 如何在 Jenkins 声明式管道中设置 PATH

    在 Jenkins 脚本化管道中 您可以像这样设置 PATH 环境变量 node git url https github com jglick simple maven project with tests git withEnv PAT
  • 迭代函数可以调用自身吗?

    当观看下面的 MIT 6 001 课程视频时 讲师在 28 00 将此算法标记为迭代 但是 在 30 27 他说这个算法和实际的 递归 算法都是递归的 该函数正在使用基本情况调用自身 那么这次迭代情况如何 private int itera
  • 如何使用 UNIX shell 计算字母在文本文件中出现的次数?

    我有几个文本文件 我想计算每个字母在每个文件中出现的次数 具体来说 我想使用 UNIX shell 来执行此操作 形式为 cat file 做东西 有没有办法让 wc 命令来执行此操作 grep char o filename wc l
  • Android 性能:SharedPreferences 的成本

    当我的应用程序启动时 我使用分片首选项中的值填充容器类 这个想法是处理 SharedPreferences 和 PreferenceManager 一次 因为我猜它们很重 这是一个示例 SharedPreferences prefs Pre
  • dplyr 中的标准评估:全局环境中的函数出现“无法找到函数”错误

    我试图在 dplyr 中对全局环境中的函数使用标准评估 但出现 无法找到函数 错误 这是一些代码 create data frame df lt data frame x rnorm 10 y rnorm 10 define arbitra