Вопросы по теме 'rlang'
Как параметризовать вызовы функций в dplyr 0.7?
Версия dplyr 0.7 включает значительную переработку программирования с помощью dplyr. Я внимательно прочитал этот документ и пытаюсь понять, как он повлияет на мое использование dplyr.
Вот распространенная идиома, которую я использую при создании...
1487 просмотров
schedule
25.10.2023
Нахождение среды происхождения аргументов вызова (точки)
Я хочу найти среду, из которой исходят ... (точки) аргументы вызова.
Сценарий
Например, рассмотрим функцию
foo <- function(x, ...) {
# do something
}
Нам нужна функция env_dots() , которую мы вызываем из foo() , которая находит...
97 просмотров
schedule
25.01.2024
Программно использовать dplyr :: case_when с аргументами
Я хотел бы иметь возможность использовать dplyr case_when программным способом для замены базовой функции R cut() .
В настоящее время case_when можно использовать с внешним аргументом через NSE, например:
library(dplyr)
library(rlang)...
1104 просмотров
schedule
07.03.2023
Присвоение имени новой переменной на основе предложения
Я пытаюсь написать настраиваемую функцию, которая будет вычислять новую переменную на основе значений из предопределенного вектора переменных (например, vector_heavy), а затем называть новую переменную на основе аргумента, предоставленного функции...
572 просмотров
schedule
27.12.2022
выбрать и переименовать сохраненную в переменной
У меня есть несколько похожих фреймов данных со многими общими столбцами. Я хотел бы выбрать и переименовать подмножество этих столбцов из любой таблицы.
library(tidyverse)
mtcars %>%
select(my_mpg = mpg,
cylinders = cyl,...
132 просмотров
schedule
29.09.2022
функция lapply с аргументами для фрейма данных и переменной
У меня есть настраиваемая функция, которая суммирует переменную. Я упростил функцию , чтобы проиллюстрировать свою проблему, т. е. она сложнее, чем показано ниже. Обратите внимание, что общая структура функции должна оставаться неизменной: она...
1378 просмотров
schedule
09.06.2023
объединить предложения и строку
Я ищу способ объединить запрос и строку, результатом которой является запрос. На самом деле, если я использую paste0() и quo_name() , я могу это сделать. Но мне интересно, есть ли более элегантная альтернатива написанию функции в моем пакете....
672 просмотров
schedule
13.11.2022
Получение фильтра внутри функции для работы с аккуратной оценкой
Я пытаюсь использовать dplyr для фильтрации на основе динамической переменной.
Я понял, что для работы фильтра мне нужно заключить имя переменной в круглые скобки. Однако, если я запрограммирую это на функцию, она не будет работать должным...
439 просмотров
schedule
19.07.2022
Анализ формулы с помощью rlang
Я пытаюсь научиться писать на R предметно-ориентированный язык с rlang . Это всего лишь мини-пример, чтобы понять, как работают синтаксический анализ и операции.
Скажем, у меня есть следующие данные:
> top <- seq(2,10,2)
> bottom...
318 просмотров
schedule
23.09.2022
Захват выражений внутри списков в виде текста
В настоящее время у меня есть эта функция, которая берет таблицу и два списка выражений и оценивает их, превращая в две матрицы. Я использую два списка вместо ... , потому что мне нужно определить, попадут ли выражения в Y или Z.
func =...
49 просмотров
schedule
07.12.2022
bang bang (!!), по-видимому, не работает внутри ggplot2
Это очень странная проблема, другие пользователи заставили этот код работать без сбоев. Но у меня это не работает. Не понимаю, возможно проблема с версией пакетов. Я использую R 3.4.4, tidyverse 1.2.1 и rlang 0.2.0
Код следующий:...
560 просмотров
schedule
11.02.2023
rlang: получить имена с помощью ярлыка двоеточия в функции NSE
Пишу пакет функций для составления таблиц демографических данных. У меня есть одна функция, сокращенно сокращенная ниже, где мне нужно взять несколько столбцов ( ... ), в которых я буду gather фрейм данных. Хитрость в том, что я хотел бы сохранить...
255 просмотров
schedule
05.06.2022
Получить выражение, которое оценивается как точка в функции, вызываемой конвейером `magrittr`
У меня есть функция x_expression() , которая печатает выражение, переданное аргументу x .
pacman::p_load(magrittr, rlang)
x_expression <- function(x) {
print(enquo(x))
}
y <- 1
x_expression(y)
#> <quosure>
#> expr: ^y...
243 просмотров
schedule
21.07.2023
Как построить и перебрать группу выражений, ссылающихся на объекты среды (без структуры списка)? [Р]
Я хочу упростить приведенное ниже в функциональной форме:
write_file(s01e01, 's01e01.txt')
write_file(s01e02, 's01e02.txt')
write_file(s01e03, 's01e03.txt')
write_file(s02e01, 's01e01.txt') ...
Эти объекты персонажей s01e01 и им...
28 просмотров
schedule
17.07.2022
Проверить наличие нескольких пропущенных аргументов при вызове произвольной функции
Есть ли более лаконичный универсальный способ проверки отсутствующих аргументов при вызове функции с помощью функции rlang ?
Мне не нравится rlang::call_frame()$env %>% as.list() , но я не мог заставить ничего работать, например,...
41 просмотров
schedule
28.07.2023
Управление окружающей средой функции
Я пытаюсь лучше понять замыкания , в частности, сведения об области действия функции и о том, как работать с ее окружающей средой .
Основываясь на разделе Description страницы справки на rlang::fn_env() , я понял, что функция всегда имеет...
49 просмотров
schedule
10.03.2024
Можно ли использовать ensyms для вектора символов?
В следующем примере, почему я получаю ошибку или неожиданные результаты от использования ensyms для принятия аргумента вектора символов? Я понимаю, что этот конкретный пример глупый: facet_grid() может фактически принимать вектор символов в качестве...
102 просмотров
schedule
24.07.2023
В R, как указать аргумент по имени, когда это имя является значением вектора символов?
Допустим, мне нужно сделать это:
foo <- list(`a+b` = 5)
но у меня есть 'a+b' (строка), сохраненная в переменной, скажем, name :
name <- 'a+b'
Как создать этот список с элементом, имя которого является значением в переменной...
73 просмотров
schedule
11.12.2022
R rlang: обрабатывать NULL-аргументы?
Я хочу использовать необязательный аргумент, который имеет значение по умолчанию NULL для функции dplyr (скажем, count() ). Если я использую стандартную процедуру с !!enquo() , я получаю сообщение об ошибке: Ошибка: столбец NULL неизвестен ....
319 просмотров
schedule
03.01.2024
Использование dplyr-глаголов в функции с метками столбцов в качестве векторов символов
Я хотел бы создать функцию, которая принимает в качестве входных данных фрейм данных и вектор символов, содержащий имена столбцов, и безопасно использует аккуратные функции цитирования стихов внутри.
Я считаю, что у меня есть рабочий пример того,...
191 просмотров
schedule
26.05.2022