簡體   English   中英

如何在dplyr中調用幾個變量到group_by

[英]How to call several variables to group_by in dplyr

我正在嘗試使用group_by並匯總幾個列,這些列將在一個閃亮的應用程序中交互。 因此,如果我在group_by函數中指定列名稱它可以工作,但是如果我為列名創建一個向量,那么它就不再起作用了。 以下是Iris數據集的示例:

# Working
iris %>% group_by(Sepal.Length, Species) %>% 
  summarise(
    `Sum.Sepal.Width` = sum(Sepal.Width)
  )

# Not working
columns <- c("Sepal.Length", "Species")
iris %>% group_by(columns) %>% 
  summarise(
    `Sum.Sepal.Width` = sum(Sepal.Width)
  )

謝謝。 Wlademir。

grouped_df_impl(data,unname(vars),drop)出錯:

  columns <- c("Sepal.Length", "Species")

  iris %>% group_by(.dots = columns) %>% 
    summarise(
      `Sum.Sepal.Width` = sum(Sepal.Width)
    )

正如在這個問題中提到的,它應該使用group_by_at()

columns <- c("Sepal.Length", "Species")
iris %>% group_by_at(columns) %>% 
  summarise(
    "Sum.Sepal.Width" = sum(Sepal.Width)
)

另一種方法是使用rlang::syms

iris %>% 
  group_by(!!! rlang::syms(columns)) %>% 
  summarise(
    `Sum.Sepal.Width` = sum(Sepal.Width)
  )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM