使用 enquo 通过 ddplyr 创建函数时出错

2024-03-08

在此输入图像描述 https://i.stack.imgur.com/Z48fD.png

我有上面的数据,我想根据 SalesInThousand 变量的平均值聚合一些变量。

我正在创建一个函数并在循环中运行它,这样我就不会重复。

这就是我正在做的事情:

vars <- factor(names(Marketing %>% 
    select(-MarketID , -LocationID ,
            -AgeOfStore , -SalesInThousands)))

function1 <- function(x){



Sales_Aggregate <- Marketing %>% 
group_by(x) %>% 
summarise(sales_mean = mean(SalesInThousands))


}


function1(Marketing$MarketSize)

for(i in vars){



print(paste('Sales Aggregate by' , i))


print(function1(i))
}

但我收到此错误:

grouped_df_impl(data, unname(vars), drop) 中的错误: 柱子x未知

当我尝试这个时:

testFunction <- function(Marketing , x) {


x <- enquo(x)


 df %>%

group_by(!! x) %>%
summarize(mean.Petal.Width = mean(Petal.Width))

testFunction(x = 'MarketSize')

我收到此错误:

UseMethod("group_by_") 中的错误: 没有适用于“group_by_”的方法应用于“function”类的对象

我无法弄清楚我做错了什么。

我是 R 和创建函数的新手,因此需要帮助。

提前致谢

Abhik


函数参数应该与函数内部的参数匹配,即如果数据的参数是“df”,则它在函数内部也应该相同

testFunction <- function(df , x) {
 x <- enquo(x)
 df %>%
   group_by(!! x) %>%
   summarize(mean.Petal.Width = mean(Petal.Width))
}

testFunction(iris, Species)
# A tibble: 3 x 2
#    Species mean.Petal.Width
#      <fctr>            <dbl>
#1     setosa            0.246
#2 versicolor            1.326
#3  virginica            2.026

如果我们需要聚合多个变量,那么使用summarise_at or summarise_all

testFunction <- function(df , varS, x) {
 x <- enquo(x)
 df %>%
   group_by(!! x) %>%
   summarize_at(vars(varS), funs(mean = mean(.)))
}

nm1 <- names(iris)[1:3]
testFunction(iris, nm1, Species)
# A tibble: 3 x 4
#     Species Sepal.Length_mean Sepal.Width_mean Petal.Length_mean
#      <fctr>             <dbl>            <dbl>             <dbl>
#1     setosa             5.006            3.428             1.462
#2 versicolor             5.936            2.770             4.260
#3  virginica             6.588            2.974             5.552
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 enquo 通过 ddplyr 创建函数时出错 的相关文章

  • R 中的聚类分析:确定最佳聚类数

    如何选择最佳的聚类数量来进行 k 均值分析 绘制以下数据的子集后 多少个簇比较合适 如何进行聚类树突分析 n 1000 kk 10 x1 runif kk y1 runif kk z1 runif kk x4 sample x1 lengt
  • 如何使用 jQuery 在第二次单击时反转 CSS 动画

    我制作了以下菜单图标 CSS 动画 当我点击它时会触发它 当我使用 jQuery 第二次单击它时 我想使其反向动画 path1 stroke dasharray 33px stroke dashoffset 33px animation l
  • 仅从 tsv 中的列索引生成“特殊”字典结构

    想象一下这样一个制表符分隔的文件 9606 1 GO 0002576 TAS platelet degranulation Process 9606 1 GO 0003674 ND molecular function z Function
  • 如何在environment.yml中安装CRAN包

    我正在使用 miniconda 来管理数据科学包的安装 这是我现在已经建立的工作流程 所以我希望它也能在这种情况下工作 我也认为它可以工作 因为它应该在这样的情况下有所帮助 比纯 python 需要更多的依赖项 我想安装pythonCDT工
  • 获取行名以 ABC111 开头的所有行

    我们有以下数据框 col1 col2 col3 ABC111001 12 12 13 ABC111002 3 4 5 ABC000111 7 6 1 ABC000112 9 23 1 如何获取行名以 开头的所有行ABC111 如下 ABC1
  • 双向条形图,两侧带有正标签ggplot2

    我尝试在 ggplot 中创建一个双向条形图 其中轴上方和下方的轴标签和数据标签均为正值 例如 如果您的数据是 myData lt data frame category c yes yes no no month c Jan Feb Ja
  • 如何拆分 data.frame -> 将合并应用于子集 -> 合并到 data.frame 中

    我真的不知道如何在不使用 for 循环的情况下实现这一目标 x lt c a b c d gt x 1 a b c d data lt data frame x c a b a b c a a b c d name c one one tw
  • rowSums 全部 NA [重复]

    这个问题在这里已经有答案了 df lt data frame a c 1 1 NA 0 1 0 b c 0 1 NA NA 0 1 c c NA 0 NA 0 1 NA d c 1 NA NA 1 1 0 rowSums df 1 NA N
  • 替换向量中非 %in% 向量的值

    简短的问题 我可以像这样替换某些变量值 values lt c a b a b c a b df lt data frame values 将 df values 的所有值替换为 x 其中值是neither a 或 b 输出应该是 c a
  • R ifelse 错误地用整数替换文本

    我正在使用 Udacity 课程中的一些数据 链接 Reddit 调查回复 https s3 amazonaws com udacity hosted downloads ud651 reddit csv 我试图通过使用单个单词替代替换任何
  • 将 r 数据框中的列字符串转换为数字

    我有一个数据框 其中有一列字符串 如下所示 mydata lt c 1 356670 35 355030 1 356670 35 355030 1 356620 35 355890 1 356930 35 358660 1 357000 3
  • ggplot2 中的小时刻度

    我正在处理就寝时间和醒来时间 因此我想创建一个具有 24 小时 x 轴的图表 从第一天中午 12 点开始 到第二天中午 12 点结束 这意味着晚上 11 59 之后 它应该再次从 0 开始 同样的问题 仅涉及数字 我想创建一个从 10 到
  • 读取并绘制从大文件中读取的数据

    我们有相当大的文件 大约为 1 1 5 GB 主要是日志文件 其中包含易于解析为 csv 的原始数据 随后应该将其绘制成图表以生成一组图形图像 目前 我们正在使用 bash 脚本将原始数据转换为 csv 文件 其中仅包含需要绘制图表的数字
  • 如何安装和管理多个版本的 R 包

    我正在开发一个使用 R 进行可重现计算的框架 我正在努力解决的一个问题是 某些 R 代码可能在包的 X Y Z 版本中完美运行 但是为什么你在 3 年后尝试重现它 这些包已经更新了 一些功能发生了变化 代码不再运行 此问题还会影响使用包的
  • 选择一个单元格内的最小值或最大值(分隔字符串)

    我有一个数据框 其中每个样本的列可以有多个值 例如 Gene Pvalue1 Pvalue2 Pvalue3 Beta Ace 0 0381 0 00357 0 01755 0 001385 0 0037 NA 0 039 0 03 1 1
  • 如何管理和处理 R 包中的补充数据

    我想在我的 R 包中添加补充数据 我知道关于LazyData true in DESCRIPTION 但不想使用它 因为示例数据相当大 所以我创建了一个目录 data 其中包含两个 RData文件和一个datalist 我添加使用tools
  • 带有 UnboundLocalError 的本地和全局引用

    我不太明白为什么代码 def f print s s foo f 运行得很好但是 def f print s s bar s foo f 给我 UnboundLocalError 我知道我可以通过声明来解决这个问题s作为函数内的全局变量或简
  • 根据Python中两行之间的匹配创建一个带有[0,1]的新列

    我正在尝试将多个列表或数据帧与一个大型基础数据帧进行比较 然后对于任何匹配 我想附加一个存储 1 匹配或 0 不匹配的列 df pd DataFrame Name A B C D ID 5 6 6 7 8 9 7 list1 5 6 8 9
  • 我应该使用函数还是无状态函子?

    这两段代码做同样的事情 如您所见 它将用于排序函数 哪个更好 我通常写后一种 但我看到一些程序员像以前那样做 struct val lessthan binary function
  • 按列分组的数据帧上 R 中的行之间的差异

    我希望通过 app name 获得不同版本的计数差异 我的数据集如下所示 app name version id count difference 这是数据集 data structure list app name structure c

随机推荐

  • 不同窗口大小的滚动总和

    我正在寻找随着窗口大小变化计算滚动总和的最快方法 我使用下面的代码 但是对于长度为 1M 的向量来说 它太慢了 Thanks set seed 1 n 10L x runif n window pmin sample 1 10 n TRUE
  • Twbs分页无法加载数据表中的新页面数据

    您好 我正在处理分页 发现当我单击第二页时无法从 twbs 插件加载数据 事实上 该方法是从 ajax 调用中调用的 但数据表数据仍然相同 有人可以告诉我该怎么做才能用服务器上的新数据填充表格 查看 thymeleaf 和 spring b
  • 更新的运行状况检查是否会导致 App Engine 部署失败?

    我们将谷歌应用程序引擎运行状况检查从旧版本更新为新版本 现在我们的部署失败了 该项目的其他内容没有改变 我们测试了默认设置 然后进行了扩展检查以防万一 这是错误 ERROR gcloud app deploy Error Response
  • Firebase 存储 getMetadata() 问题

    我一直在尝试从 Firebase Storage 获取图像文件的元数据 md5hash 并检查它是否与用户手机上图像文件的 md5hash 不相等 问题是 即使哈希值相同 我得到的结果也是不同的 这是我试图获取元数据并进行比较的代码 for
  • 测试所有对象是否具有相同的成员值

    我有一个简单的课程python questions tagged python class simple object def init self theType someNum self theType theType self some
  • ListView 滚动 - 一项一项

    我有一个必须一次显示 4 个项目的 ListView 我必须一项一项地滚动 用户滚动 ListView 后 我必须重新调整滚动以适合 4 个项目 我的意思是 我无法将某个项目显示一半 还有一个问题 有没有办法获取当前ListView的scr
  • 如何为 Azure 表存储 REST 请求生成 SharedKeyLite

    我尝试使用 Postman 调用 Azure 表存储 但不断收到 服务器无法验证请求 确保值 授权标头格式正确 包括签名 我在 Postman 中用于预调用脚本的代码如下 var storageAccount mystorageaccoun
  • Python selenium:显式等待加载两个元素之一

    有没有一种方法可以让我等待两个元素之一加载到硒中 我正在使用显式等待 到目前为止 还无法找到解决方案 简单地做 WebDriverWait driver 5 until lambda driver driver find element B
  • jQuery Mobile 背景图像未显示在全屏 iPad Web 应用程序上

    我已经在 data role page 元素上设置了背景 如下所示 div style background transparent url img background jpg no repeat 它在桌面浏览器和 iPad safari
  • 有没有类似Codecademy for Java的东西[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 有谁知道像这样的网站代码学院 http www codecademy com专注于 Java 编程教学 Codeacademy com 使用 Java
  • 在没有验证的情况下模仿验证行为

    我们的应用程序中有几个数据对象最终绑定到网格 我们让它们实现 IDataErrorInfo 接口 以便通过向属性添加错误消息 我们可以看到行标题更改样式并且 DataGridCell 获得红色边框 一切都很好 我们现在有一个额外的要求 即我
  • PostgreSQL INSERT FROM SELECT 带有附加列

    我有桌子T1在数据库中DB1和桌子T2在数据库中DB2 这些表具有几乎相同的列集 除了列C additional in T1 它不存在于T2 我需要传输所有行T2 to T1 设置某个值C additional对于我插入的每一行 例如 T1
  • 如何使用 Ionic 3 将 Node JS 升级到 v14.x?

    根据我在这个 TS Node 项目中遇到的错误 对于简单的 TypeScript 仅 REST API 建议的修复 此处提到 https github com heineiuo rippledb issues 148 https githu
  • 在 Cakephp 中插入数据时出现问题

    在执行 add 方法后的数据库中 我仅检索外键 tarid id 其他字段为空这是我的粘附模型代码 感谢您的回答
  • 对字符串中的复杂分隔符序列使用随机 Unicode 是否安全?

    问题 从程序稳定性和确保系统实际运行来看 使用像这样的字符有多安全 or 对于字符串中的复杂分隔符序列 我可以可靠地相信我不会在错误读取这些内容的程序中遇到任何问题吗 我正在使用 C 代码的系统中工作 在该系统中我必须在单个字符串中存储一组
  • 如何通过 async/await 找到哪个方法“挂起”?

    在 旧 时代 跟踪哪个方法挂起非常容易 只需转到调试器 点击 暂停 按钮并查看堆栈跟踪即可 然而 现在 如果问题出在异步方法中 则这种方法不起作用 因为要执行的下一段代码被埋在延续任务中的某个地方 从技术上讲 它甚至不会挂起 有没有办法这样
  • 如何在 C# 中调用批处理文件(.bat)?

    如何在 C 中调用批处理文件 bat See 从 C 执行命令 http www codeguru com csharp csharp cs misc dllsandexecutables article php c14441 public
  • Python 正则表达式识别字符串中的城市名称

    使用 Python 3 4 中的正则表达式 如何从下面的文本中提取城市名称 replacement windows in seattle wa basement remodeling houston texas siding contrac
  • 这个视图没有约束,它只有设计时位置,所以它会跳转到(0,0),除非你添加约束

    该视图不受约束 它只有设计时位置 因此除非添加约束 否则它将跳转到 0 0 布局编辑器允许您将小部件放置在画布上的任何位置 并使用设计时属性 例如layout editor absoluteX 记录当前位置 这些属性不会在运行时应用 因此如
  • 使用 enquo 通过 ddplyr 创建函数时出错

    在此输入图像描述 https i stack imgur com Z48fD png 我有上面的数据 我想根据 SalesInThousand 变量的平均值聚合一些变量 我正在创建一个函数并在循环中运行它 这样我就不会重复 这就是我正在做的