Создайте новый файл с приложением Shiny. Запомните, в какой папке лежит файл app.R. Удалите весь код из app.R, скопируйте туда код из незаполненного шаблона template1.R.
Скачайте файл Chile.csv и поместите его в рабочую папку RStudio. Загрузите файл в R и сохраните данные в датафрейм dat. Пользоваться функцией file.choose() нельзя!
Удалите строки с пропущенными значениями в датафрейме dat и сохраните изменения.
Известно, что в списке input в переменной index сохранена строка (тип character) с номером столбца в датафрейме dat, который нас интересует. Напишите код, который сохраняет в переменную x интересующий нас столбец.
Известно, что в списке input в переменной color сохранена строка с названием цвета. Напишите код, который делает следующее: если эта строка пустая (не содержит символов), то в переменную gcolor сохраняется значение "grey", иначе — значение color из вектора input.
Известно, что в переменной x сохранен вектор. Напишите код, который делает следующее: если вектор x имеет тип numeric, для вектора x строится гистограмма с цветом заливки gcolor из предыдущего пункта, если вектор x имеет другой тип, для вектора x строится столбиковая диаграмма с цветом заливки gcolor.
Известно, что в списке input в переменной reg сохранено название интересующего нас региона или строка “All”, если нас интересуют все регионы. Напишите код, который делает следующее: если это название не “All”, а конкретный регион, то отфильтровывает строки, соответствующие этому региону, из датафрейма dat и сохраняет их в dat.
Откройте файл app.R и дозаполните код для функции server(), добавляя написанные кусочки кода внутрь renderPlot().
Скачайте файл Chile.csv и поместите его в рабочую папку RStudio. Загрузите файл в R и сохраните данные в датафрейм dat. Пользоваться функцией file.choose() нельзя!
Удалите строки с пропущенными значениями в датафрейме dat и сохраните изменения.
Посмотрите на пример поименованного вектора в R, который похож на словарь в Python (пары ключ-значение):
labs <- c(female = 1, male = 2)
Посмотрите на функцию setNames(), которая работает как комбинация dict() и zip() в Python:
setNames(1:3, c("a", "b", "c"))
## a b c 
## 1 2 3
Создайте поименованный вектор our_choices, где ключами служат номера столбцов в dat, а значениями — их названия.
Создайте поименованный вектор our_regs, где ключами являются уникальные значения из столбца region из dat (приведите их к типу character), а значениями — полные названия регионов: Central; Metropolitan Santiago area; North; South; City of Santiago.
Откройте файл app.R и дозаполните код для ui, считая, что:
fluidRow должно находится выпадающее меню selectInput с id, равным "index", текстом "Column to visualise:" и значениями из our_choices;fluidRow должно находится поле для ввода текста textInput с id, равным "color", текстом "Choose color:" и текстом-подсказкой в поле "e.g. red or #3131d4";fluidRow должно находится менюradioButtons с id, равным "reg", текстом "Choose region:" и значениями из our_regs.Совмещаем усилия — проверяем написанные части кода для интерфейса и построения графиков!