在dplyr中使用变量列名称汇总

mari

我发现这个问题已经问了,但没有适当的答案。R在dplyr中的summary函数中使用变量列名称

我想计算两个列均值之间的差,但是列名应该由变量提供...到目前为止,我只找到了as.name将列名提供为文本的函数,但是这在这里不起作用...

使用修复列名称可以正常工作。

x <- c('a','b')
df <- group_by(data.frame(a=c(1,2,3,4), b=c(2,3,4,5), c=c(1,1,2,2)), c)
df %>% summarise(mean(a) - mean(b))

对于可变列,它不起作用

df %>% summarise(mean(x[1]) - mean(x[2]))
df %>% summarise(mean(as.name(x[1])) - mean(as.name(x[2])))

由于这个问题已经在3年前提出并且dplyr正在良好的开发中,所以我想知道现在是否对此有答案。

Moody_Mudskipper

您可以使用base::get

df %>% summarise(mean(get(x[1])) - mean(get(x[2])))

# # A tibble: 2 x 2
#        c `mean(a) - mean(b)`
#    <dbl>               <dbl>
# 1     1                  -1
# 2     2                  -1

get 将默认在当前环境中搜索。

如错误消息所述,mean期望一个逻辑或数字对象,as.name返回一个名称:

class(as.name("a")) # [1] "name"

您可以评估自己的名字,这样也可以:

df %>% summarise(mean(eval(as.name(x[1]))) - mean(eval(as.name(x[2]))))
# # A tibble: 2 x 2
#       c `mean(eval(as.name(x[1]))) - mean(eval(as.name(x[2])))`
#   <dbl>                                                   <dbl>
# 1     1                                                      -1
# 2     2                                                      -1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在R中:将列名称作为参数传递,并在dplyr :: mutate()和lazyeval :: interp()函数中使用它

来自分类Dev

如何在dplyr :: filter中使用变量?

来自分类Dev

在具有动态变量的R中使用dplyr汇总

来自分类Dev

在Python中使用列名称构建DataFrame

来自分类Dev

通过列名称中的参数使用dplyr选择

来自分类Dev

使用dplyr汇总并保留相同的变量名

来自分类Dev

在dplyr链中使用Shiny输入变量

来自分类Dev

在R中使用dplyr附加每个因子水平的汇总行

来自分类Dev

在线性回归中使用数据框的列名称作为预测变量

来自分类Dev

dplyr:传递列名以在函数内部进行汇总

来自分类Dev

根据列名称中的模式汇总列

来自分类Dev

R:data.table,按列名称存储在变量中汇总数据框架

来自分类Dev

添加新的列名称以在spread()中使用

来自分类Dev

使用dplyr递归遍历列名称和单独的字段

来自分类Dev

使用dplyr有条件地设置列名称

来自分类Dev

如何在动态列名称中使用dplyr中的“摘要”?

来自分类Dev

如何在dplyr中使用变量列表?

来自分类Dev

在Rails中使用变量作为列名

来自分类Dev

Javascript在名称中使用变量

来自分类Dev

在PROC SQL中使用变量引用列名

来自分类Dev

在 sql 查询中使用变量作为列名

来自分类Dev

在 dplyr 中使用重命名和汇总时出错

来自分类Dev

在 dplyr 和 R 统计信息中汇总数据的变量:使用“.data”代词引用存储为字符串的列名:

来自分类Dev

使用列名使用 ggplot 绘制 dplyr 汇总的 tibble

来自分类Dev

R dplyr如何通过列号而不是带有汇总的列名选择变量

来自分类Dev

在 dplyr 中使用动态生成的列名

来自分类Dev

如何使用 dplyr 对这些变量进行分组以进行分组汇总?

来自分类Dev

使用 dplyr 从起止范围变量按月汇总计数?

来自分类Dev

在 dplyr 的 mutate 函数中使用列名

Related 相关文章

  1. 1

    在R中:将列名称作为参数传递,并在dplyr :: mutate()和lazyeval :: interp()函数中使用它

  2. 2

    如何在dplyr :: filter中使用变量?

  3. 3

    在具有动态变量的R中使用dplyr汇总

  4. 4

    在Python中使用列名称构建DataFrame

  5. 5

    通过列名称中的参数使用dplyr选择

  6. 6

    使用dplyr汇总并保留相同的变量名

  7. 7

    在dplyr链中使用Shiny输入变量

  8. 8

    在R中使用dplyr附加每个因子水平的汇总行

  9. 9

    在线性回归中使用数据框的列名称作为预测变量

  10. 10

    dplyr:传递列名以在函数内部进行汇总

  11. 11

    根据列名称中的模式汇总列

  12. 12

    R:data.table,按列名称存储在变量中汇总数据框架

  13. 13

    添加新的列名称以在spread()中使用

  14. 14

    使用dplyr递归遍历列名称和单独的字段

  15. 15

    使用dplyr有条件地设置列名称

  16. 16

    如何在动态列名称中使用dplyr中的“摘要”?

  17. 17

    如何在dplyr中使用变量列表?

  18. 18

    在Rails中使用变量作为列名

  19. 19

    Javascript在名称中使用变量

  20. 20

    在PROC SQL中使用变量引用列名

  21. 21

    在 sql 查询中使用变量作为列名

  22. 22

    在 dplyr 中使用重命名和汇总时出错

  23. 23

    在 dplyr 和 R 统计信息中汇总数据的变量:使用“.data”代词引用存储为字符串的列名:

  24. 24

    使用列名使用 ggplot 绘制 dplyr 汇总的 tibble

  25. 25

    R dplyr如何通过列号而不是带有汇总的列名选择变量

  26. 26

    在 dplyr 中使用动态生成的列名

  27. 27

    如何使用 dplyr 对这些变量进行分组以进行分组汇总?

  28. 28

    使用 dplyr 从起止范围变量按月汇总计数?

  29. 29

    在 dplyr 的 mutate 函数中使用列名

热门标签

归档