Пакет Sketch в программировании на R
Пакеты в R-программировании представляют собой набор R-функций, скомпилированного кода и примеров данных. Они хранятся в каталоге под названием « библиотека » в среде R. По умолчанию R устанавливает набор пакетов во время установки. Один из самых важных пакетов в R - это пакет Esquisse. Пакет Esquisse помогает исследовать и визуализировать ваши данные в интерактивном режиме. Это блестящий гаджет для интерактивного создания диаграмм ggplot с помощью перетаскивания для сопоставления переменных. Можно быстро визуализировать данные в соответствии с их типом, экспортировать в «PNG» или «PowerPoint» и получить код для воспроизведения диаграммы.
Установка
Чтобы использовать пакет в программировании на R, необходимо сначала установить пакет. Эту задачу можно выполнить с помощью команды install.packages («packagename») .
источник ("https://install-github.me/dreamRs/esquisse") install.packages ("esquisse")
Чтобы установить версию для разработки с GitHub, введите следующее:
# или с помощью инструментов разработчика: devtools :: install_github ("dreamRs / esquisse")
Важные глагольные функции в пакете Esquisse
- chooseData-Module: это модуль для выбора data.frame из пользовательской среды и выбора переменной для использования. Это дает пользователю возможность выбрать из заданного списка доступных наборов данных для работы в блестящем приложении.
Syntax:
chooseDataUI(id)
chooseDataServer(input, output, session, data = NULL, name = NULL,
selectVars = TRUE, launchOnStart = TRUE, defaultData = NULL)
Параметр | Описание |
---|---|
я бы | Идентификатор модуля. |
Вход | Стандартный блестящий ввод. |
выход | Стандартный блестящий выход. |
сессия | Стандартный сеанс сияния. |
данные | data.frame для использования по умолчанию. |
имя | Имя данных. |
selectVars | Логический (ИСТИНА / ЛОЖЬ), отображение меню для выбора переменных для использования в выбранном кадре данных. |
launchOnStart | Запускать модальное окно при запуске приложения. |
defaultData | Вектор символов data.frames для выбора, если есть нет data.frames в глобальной среде. По умолчанию используются data.frames из ggplot2. |
Example:
R
# Import shiny and # esquisse packages library (shiny) library (esquisse) ui <- fluidPage ( tags$ h2 ( "Choose data module" ), fluidRow ( column ( width = 4, tags$ h4 ( "Default" ), # Using chooseDataUI chooseDataUI (id = "choose1" ), verbatimTextOutput (outputId = "res1" )))) server <- function (input, output, session) { res_dat1 <- callModule ( chooseDataServer, id = "choose1" , launchOnStart = FALSE ) output$res1 <- renderPrint ({ str ( reactiveValuesToList (res_dat1))}) } shinyApp (ui,server) |
Выход:
- dragulaInput: он создает виджет ввода с перетаскиванием. Можно выбрать разные метки (данные) из множества меток, предоставленных разработчиком пользователю приложения, чтобы вращать их с помощью простого перетаскивания макетов.
Syntax: dragulaInput(inputId, sourceLabel, targetsLabels, targetsIds = NULL,
choices = NULL, choiceNames = NULL, choiceValues = NULL,
status = “primary”, replace = FALSE, badge = TRUE, width = NULL,
height = “200px”)
Параметр | Описание |
---|---|
inputId | Входной слот, который будет использоваться для доступа к значению. |
sourceLabel | Ярлык отображается в окне источника. |
TargetLabels | Ярлыки для каждого целевого элемента. |
targetIds | Идентификаторы для получения значений на стороне сервера. |
выбор | Список значений для выбора. Если этот аргумент предоставлен, тогда choiceNames и choiceValues указывать нельзя, наоборот. |
choiceNames | Список отображаемых имен и значений соответственно пользователю в приложении и соответствовать к каждому выбору (по этой причине choiceNames и choiceValues должны иметь одинаковую длину). |
choiceValues | Список отображаемых имен и значений соответственно пользователю в приложении и соответствовать к каждому выбору (по этой причине choiceNames и choiceValues должны иметь одинаковую длину). |
положение дел | Если варианты отображаются в ярлыке Bootstrap, вы можно использовать статус Bootstrap, чтобы раскрасить их, или NULL. |
заменять | Когда выбор уже перетаскивается в целевой контейнер содержащий выбор, заменяется ли последний на новый? # ' |
значок | Отображает варианты выбора внутри значка Bootstrap. |
ширина | Ширина входа. |
рост | Высота каждого поля, общая высота ввода - это параметр X 2. |
Example:
R
# Import shiny and # esquisse packages library ( "shiny" ) library ( "esquisse" ) ui <- fluidPage ( tags$ h2 ( "dragulaInput demo for geeksforgeeks" ), tags$ br (), # using dragulaInput() # to create a drag and # drop widget dragulaInput ( inputId = "data_di" , sourceLabel = "Source" , targetsLabels = c ( "Drop Here" , "Drop Here 2" ), choices = names (rock), width = "400px" ), verbatimTextOutput (outputId = "result" )) server <- function (input, output, session) { output$result <- renderPrint ( str (input$data_di)) } shinyApp (ui = ui, server = server) |
Выход:
- esquisser: это надстройка для простого создания графиков с помощью ggplot2. ggplot2 - это система декларативного создания графики. Просто предоставьте данные, скажите ggplot2, как сопоставлять переменные с эстетикой, какие графические примитивы использовать, и он сам по себе берет все свои ручки.
Syntax: esquisser(data = NULL)
Параметр | Описание |
---|---|
данные | Data.frame. |
Example:
R
# Import shiny and # esquisse packages library ( "shiny" ) library ( "esquisse" ) esquisser (rock) |
Выход:
- updateDragulaInput: обновить ввод Dragula. Он обновляет виджеты перетаскивания, как только вызов передается в функцию. Например, если метка перетаскивается из входа, функция обновляет набор предоставленных входных значений в выходных данных.
Syntax: updateDragulaInput(session, inputId, choices = NULL, choiceNames = NULL,
choiceValues = NULL, badge = TRUE, status = “primary”)
Параметр | Описание |
---|---|
сессия | Объект сеанса передан в функцию, переданную в shinyServer. |
inputId | Идентификатор входного объекта. |
выбор | Список значений для выбора. Если этот аргумент указан, то choiceNames и choiceValues указывать нельзя, и наоборот |
choiceNames choiceValues | Список имен и значений, соответственно, которые отображаются пользователю в приложении и соответствуют к каждому варианту выбора (по этой причине имена выбора и значения выбора должны иметь одинаковую длину). Если предоставлен один из этих аргументов, необходимо указать другой и не следует указывать варианты выбора. |
значок | Отображает варианты выбора внутри значка Bootstrap. |
положение дел | Если варианты отображаются на значке Bootstrap, вы можете использовать статус Bootstrap, чтобы раскрасить их, или NULL. |
Example:
R
# Import shiny and # esquisse packages library ( "shiny" ) library ( "esquisse" ) ui <- fluidPage ( tags$ h2 ( "GfG demo for Update dragulaInput" ), radioButtons ( inputId = "update" , label = "Dataset" , choices = c ( "iris" , "rock" )), tags$ br (), dragulaInput ( inputId = "data" , sourceLabel = "Variables" , targetsLabels = c ( "X" , "Y" , "fill" , "color" , "size" ), choices = names (iris), replace = TRUE , width = "400px" , status = "success" ), verbatimTextOutput (outputId = "result" )) server <- function (input, output, session) { output$result <- renderPrint ( str (input$data)) observeEvent (input$update, { if (input$update == "iris" ) { updateDragulaInput ( session = session, inputId = "data" , choices = names (iris), status = "success" ) } else { updateDragulaInput ( session = session, inputId = "data" , choices = names (rock)) } }, ignoreInit = TRUE ) } shinyApp (ui, server) |
Выход:
- ggplot_to_plot: Утилита для экспорта объектов ggplot в PowerPoint. Эта служебная функция обеспечивает простой способ сохранения графиков и моделей, созданных с помощью ggplot, в файл .ppt или просто в презентацию PowerPoint.
Syntax: ggplot_to_ppt(gg = NULL)
Параметр | Описание |
---|---|
gg | персонаж. Имя (а) объекта (ов) ggplot, если NULL, запускает гаджет Shiny. |
Example:
R
# import ggplot2 library library (ggplot2) p <- ggplot (iris) + geom_point ( aes (Sepal.Length, Sepal.Width)) # use ggplot_to_plot # to display plot # in a ppt format ggplot_to_ppt ( "p" ) |
Выход:
Код отображает вывод в формате ppt. Вывод к приведенному выше фрагменту кода можно увидеть по этой ссылке.