Вот мой пример dataframe:
df.ex <- structure(
list(
id_1 = c(15796L, 15796L, 15799L, 15799L),
id_2 = c(61350L,
351261L, 61488L, 315736L),
days = c(30.5, 36.4854, 30.5, 30.5)
),
row.names = c(NA,-4L),
class = "data.frame",
.Names = c("id_1",
"id_2", "days")
)
Я получаю эту ошибку с dplyr::distinct()
Error in UseMethod("distinct_") : no applicable method for 'distinct_' applied to an object of class "c('double', 'numeric')"
Что сбивает с толку, так это то, что это работает всякий раз, когда я передаю фрейм данных в функцию иукажите столбец следующим образом: distinct(df.ex, days)
.Однако, если я создаю вектор интересующей переменной, например, так: days_vec <- df.ex$days
и передаю вектор в качестве аргумента функции следующим образом: distinct(days_vec)
, я получаю ошибку.
В моем реальном коде мне нужно использовать distinct
в трубе dplyr, например:
df.ex %>% summarise(distinct_values = distinct(days))
И, конечно, это тоже не работает.Кто-нибудь знает, как побороть эту ошибку?
Большое спасибо, Питер
РЕДАКТИРОВАТЬ: для моей острой проблемы мне нужно составить сводную таблицу с количеством различных значений для days
, которая будет сгруппирована по id_1
, это будетвыглядело это так:
result <- tibble(
id_1 = c(15796, 15799),
count_distinct_values = c(2, 1)
)
Я бы подумал, что поможет следующее, однако он возвращает еще одну ошибку:
result <- df.ex %>% group_by(id_1) %>% summarise(count_distinct_values = count(distinct(., days)))
Любые идеи будут очень признательны.