Вопросы по теме '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 просмотров

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 просмотров

R rlang: обрабатывать NULL-аргументы?
Я хочу использовать необязательный аргумент, который имеет значение по умолчанию NULL для функции dplyr (скажем, count() ). Если я использую стандартную процедуру с !!enquo() , я получаю сообщение об ошибке: Ошибка: столбец NULL неизвестен ....
319 просмотров
schedule 03.01.2024

Использование dplyr-глаголов в функции с метками столбцов в качестве векторов символов
Я хотел бы создать функцию, которая принимает в качестве входных данных фрейм данных и вектор символов, содержащий имена столбцов, и безопасно использует аккуратные функции цитирования стихов внутри. Я считаю, что у меня есть рабочий пример того,...
191 просмотров
schedule 26.05.2022