Я хотел бы создать цепочку каналов magrittr
для вызова вложенной функции ниже, которая дает точно такой же результат.
Следующее возвращает фрейм данных со столбцами my_names
и Freq
.
my_names <- c('John', 'Joe', 'Jane', 'John', 'John', 'Jane')
test_df <- as.data.frame.table(sort(table(my_names), decreasing = TRUE))
my_names Freq
1 John 3
2 Jane 2
3 Joe 1
Используя magrittr
, приведенная ниже цепочка конвейеров возвращает фрейм данных со столбцами .
и Freq
.
library(magrittr)
test_df <- my_names %>% table %>% sort(decreasing = TRUE) %>% as.data.frame.table
. Freq
1 John 3
2 Jane 2
3 Joe 1
Добавление %>% dplyr::rename(my_names = .)
не сработает, поскольку .
интерпретируется как заполнитель, а не как имя столбца.
Чтобы получить тот же результат, что и при вызове вложенной функции, мне нужно использовать дополнительный вызов функции: test_df <- dplyr::rename(test_df, my_names = .)
Есть ли способ указать %>%
интерпретировать .
как имя переменной, а не как заполнитель в последующем вызове?
dplyr
(0.3.0.9) иlazyeval
(0.1.9.9001) цепочка конвейеров дает тот же результат, что и вызов вложенной функции. - person alex23lemm   schedule 31.12.2014