Этот тег отвечает на вопросы о нестандартной оценке, которая связана с созданием неоцененных выражений и манипулированием ими. Сюда входят базовые функции R, такие как call() и substitute(), а также более сложные инструменты, предоставляемые пакетом rlang. Последние также часто помечаются тегом "тидевал".
1 ответ

Как передать строку в качестве параметра функции, которая ожидает переменную в R

Первый вызов функции f работает, второй - нет. Как я могу передать String ("v") в функцию f, чтобы функция работала как положено? library(data.table) f<-function(t,x) t[,deparse(substitute(x)),with=F] dat<-data.table(v="a") f(dat,v) # v # 1: a…
11 сен '16 в 13:23
2 ответа

Функция R для установки недостающих пакетов

Для одного из моих сценариев я хочу написать функцию R, которая проверяет, установлен ли пакет: если это так, он должен использовать library() для импорта его в пространство имен, в противном случае он должен установить его и импортировать. Я предпо…
12 авг '16 в 15:53
1 ответ

Использование dklyr enquo для доступа к столбцам таблицы Spark через sparklyr

Я хотел бы быть ebale, чтобы использовать dplyr enquo в lapply вызов при прыжке через столбцы таблицы Spark. lapply(tbl_vars(sprkTbl), function(col_nme) { print(col_nme) # Enquoe column name quo_col_nme <- enquo(col_nme) print(quo_col_nme) sprkTb…
11 авг '17 в 13:23
1 ответ

Доступ к новым переменным в функции dplyr

Я пишу функцию для расчета коэффициентов шансов для таблицы отсчетов, которая требует оценки NSE с помощью dplyr и tidyr. Как может быть очевидно, это мое первое предприятие в мире NSE. Например, с фреймом данных 'foo': # A tibble: 4 x 3 strata grou…
01 ноя '17 в 20:17
1 ответ

rlang::sym в анонимных функциях

Я недавно заметил, что rlang::sym кажется, не работает в анонимных функциях, и я не понимаю, почему. Вот пример, это довольно неуклюжий и уродливый, но я думаю, что это иллюстрирует require(tidyverse) data <- tibble(x1 = letters[1:3], x2 = letter…
17 авг '18 в 20:26
2 ответа

Программирование вычисления Tidy с помощью dplyr::case_when

Я пытаюсь написать простую функцию, заключающуюся в функцию dplyr::case_when(). Я читаю программирование с помощью документации dplyr по https://cran.r-project.org/web/packages/dplyr/vignettes/programming.html но не могу понять, как это работает с ф…
29 дек '17 в 13:09
1 ответ

Вызов ggplot в функции с NSE

Идея состоит в том, чтобы исправить вызов ggplot в функции. Пример: library(dplyr) library(ggplot2) library(lazyeval) df <- data.frame(A=letters[1:10], B=2:11, C=3:12)) func <- function(name, dat=df) { output <- dat %>% select_(~A,name) …
21 сен '15 в 10:17
1 ответ

Нестандартная оценка параметров точек

У меня есть функция, которую я хочу обернуть другой функцией, передавая аргументы как ... параметры аргументов. У меня возникают проблемы с изучением, как структурировать основной вызов функции с lazyeval Вот приличный MWE, library(dplyr) pythag &lt…
09 мар '17 в 17:18
3 ответа

Функция обтекания вокруг purrr::pmap с использованием имен столбцов

Я пытаюсь написать простую функцию, заключающуюся в функцию purrr::pmap_dbl(). У меня есть следующие данные: df <- data.frame( col1 = 1:5, col2 = 2:6, col3 = 3:7 ) И следующая функция: addfn <- function(x, y){ x^2 + y } Тогда я хотел бы написа…
02 фев '18 в 11:47
4 ответа

Как dplyr переименовать столбец, по индексу столбца?

Следующий код переименовывает первый столбец в наборе данных: require(dplyr) mtcars %>% setNames(c("RenamedColumn", names(.)[2:length(names(.))])) Желаемые результаты: RenamedColumn cyl disp hp drat wt qsec vs am gear carb Mazda RX4 21.0 6 160.0 …
13 мар '17 в 17:20
1 ответ

Функция R с выражением в качестве параметра для суммирования dplyr

Хорошо, это то, что должно быть относительно легко, но хотя я пробовал буквально десятки подходов с quote, eval, substitute, enquote, parse, summarize_ и т.д... Я не получил его на работу. В основном я пытаюсь вычислить что-то вроде этого - но с пер…
17 мар '17 в 10:08
1 ответ

Функция Dplyr для вычисления среднего, n, sd и стандартной ошибки

Я постоянно пишу этот кусочек кода, чтобы генерировать стандартные ошибки для групповых средств (которые затем используются для построения доверительных интервалов). Было бы неплохо написать свою собственную функцию, чтобы сделать это в одной строке…
30 май '17 в 15:32
0 ответов

Аутентификация Nmap Kerberos

У меня Linux в домене Windows, используйте следующий скрипт для получения ОС: nmap -n -T4 -p U:139,T:139,T:445 --script get-os.nse name_PC.domain.win Ошибка: NT_STATUS_ACCESS_DENIED но когда я указываю логин / пароль: nmap -n -T4 -p U:139,T:139,T:44…
11 янв '19 в 08:22
0 ответов

Использование dplyr в функции вызывает ошибку, несмотря на enquo()

Я пытался перевести работающий dplyr-код в функцию, но потерпел неудачу из-за enquo()/!!, Эта функция предназначена для набора данных с 160 переменными и применяется неоднократно к изменяющемуся числу переменных (иногда более 3, как в представлении,…
31 янв '19 в 16:32
3 ответа

dplyr::select() с некоторыми переменными, которые могут не существовать во фрейме данных?

У меня есть вспомогательная функция (скажем, foo()), которые будут выполняться в различных фреймах данных, которые могут содержать или не содержать указанные переменные. Предположим, у меня есть library(dplyr) d1 <- data_frame(taxon=1,model=2,z=3…
26 июл '18 в 00:08
2 ответа

Получить объект и индексы от вызова поднабора

В принципе, я хотел бы создать функцию R separate_call это получает аргумент как x[ind] и возвращается x а также ind (так, из родительской среды): x <- 1:10 ind <- 2:3 separate_call(x[ind]) ## should return `list(1:10, 2:3)` Я знаю, что мне ну…
02 июн '18 в 05:36
1 ответ

Области видимости переменных в aes(...) внутри функции в ggplot

Рассмотрим это использование ggplot(...) внутри функции. x <- seq(1,10,by=0.1) df <- data.frame(x,y1=x, y2=cos(2*x)/(1+x)) library(ggplot2) gg.fun <- function(){ i=2 plot(ggplot(df,aes(x=x,y=df[,i]))+geom_line()) } if(exists("i")) remove(i)…
1 ответ

Dplyr условный столбец ifelse с векторным вводом

Я пытаюсь использовать новый подход языка NSE от dplyr для создания условного преобразования с использованием векторного ввода. Там, где у меня возникают проблемы, я устанавливаю столбец равным самому себе, см. Ниже: df <- data.frame("Name" = c(r…
04 янв '18 в 18:42
1 ответ

Использование подобного механизма выбора переменных для отдельного вызова в dplyr

Желаемые результаты Используя простой синтаксис, я фильтрую vs а также am колонны оставляя также cyl ценности. data(mtcars) dta <- mtcars[,c("vs", "am", "cyl")] # Desired results dta %>% distinct(vs, am, .keep_all = TRUE) Желаемый синтаксис Я…
20 июл '17 в 15:31
1 ответ

dplyr-0.6.0 программирование unquoting

Я пытаюсь написать простую обертку summarise() Произвольные переменные по произвольным группам, и теперь у меня есть успехи. Я загрузил правильную версию библиотеки, но запутался (опять же), как расставить аргументы с несколькими значениями. В насто…
26 май '17 в 13:19