Как изменить функцию dplyr, чтобы она не получала сообщение об ошибке: Столбец `column` неизвестен? - PullRequest
2 голосов
/ 11 марта 2020

Привет, я получаю ошибку Error: Column column is unknown от dplyr. Я не могу изменить функцию, чтобы избавиться от ошибки. Причина, по которой я хочу сделать эту функцию, потому что я должен повторить процесс для других переменных.
данные можно найти здесь: http://www.personal.psu.edu/dlp/w540/datasets/titanicsurvival.csv

one_col_count <- function(data, column){

  data %>%
        group_by(column)%>%
        count() %>%
        ungroup() %>%
        add_row(column= "Total",  n= sum(.$n)) -> dataset

  return(dataset)
}

survival_count <- one_col_count(dat, as.name("Survived"))

#dat is a data.frame where I changed to types of every column to factor

#Whereas this works
#survival_count <- dat %>%
#                     group_by(Survived)%>%
#                     count() %>%
#                     ungroup() %>%
#                     add_row(Survived= "Total", 
#                             n= sum(.$n))

#And I get the output
## A tibble: 3 x 2
#  Survived     n
#  <fct>    <int>
#1 No        1490
#2 Yes        711
#3 Total     2201

Я имею посмотрел несколько переполнений стека с этой ошибкой, но у них были разные проблемы и не относящиеся к моей. Пожалуйста, обратите внимание, что мой словарный запас R не так уж велик, поэтому, возможно, есть ответ, но, имея недостаток правильного словарного запаса, я мог его упустить. Любая помощь или подсказка или направление, чтобы избавиться от ошибки? Очень ценю это.

1 Ответ

4 голосов
/ 11 марта 2020

Используйте {{}} для передачи имен столбцов без кавычек.

library(dplyr)

one_col_count <- function(data, column){

  data %>%
    group_by({{column}})%>%
    count() %>%
    ungroup() %>%
    add_row({{column}} := "Total",  n= sum(.$n))

   return(dataset)
}

one_col_count(dat, Survived)
...