Передача имени столбца фрейма данных в функции в функцию dplyr count () в R? - PullRequest
2 голосов
/ 16 октября 2019

Как я могу передать аргумент ColName моей функции foo функции R count? ColName - это имя столбца в кадре данных.

library(scales)
library(dplyr)

foo <- function(df, ColName, YearCol){

    percentData <- df %>% 
        group_by(format(as.Date(df[,YearCol]),"%Y")) %>% 
        count(ColName) %>%   # does not work like this, also df[,ColName] does not work
        mutate(ratio=scales::percent(n/sum(n)))

 }

1 Ответ

0 голосов
/ 16 октября 2019

Вы можете использовать параметр .dots select, чтобы выбрать интересующие вас столбцы.

foo <- function(df, ColName, YearCol){
    percentData <- df %>% 
        select(.dots = c(ColName, YearCol)) %>%
        group_by(format(as.Date(.dots2), "%Y")) %>% 
        count(.dots1) %>%  
        mutate(ratio=scales::percent(n/sum(n)))
    percentData
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...