Я надеялся, что кто-нибудь сможет мне помочь с проблемой, с которой я столкнулся при выполнении упражнения на курсе DataCamp «Создание веб-приложений с использованием Shiny in R», особенно с преобразованием одного из наборов данных, которые они используют в этом упражнении.
Я импортировал их набор данных (RDS) с помощью функции readRDS, и он выглядит следующим образом:
$ id : int 10259 25693 20130 22213 13162 6602 42779 3735 16903 12734 ...
$ cuisine : chr "greek" "southern_us" "filipino" "indian" ...
$ ingredients:List of 39774
..$ : chr "romaine lettuce" "black olives" "grape tomatoes" "garlic" ...
..$ : chr "plain flour" "ground pepper" "salt" "tomatoes" ...
..$ : chr "eggs" "pepper" "salt" "mayonaise" ...
..$ : chr "water" "vegetable oil" "wheat" "salt"
..$ : chr "black pepper" "shallots" "cornflour" "cayenne pepper" ...
..$ : chr "plain flour" "sugar" "butter" "eggs" ...
..$ : chr "olive oil" "salt" "medium shrimp" "pepper" ...
..$ : chr "sugar" "pistachio nuts" "white almond bark" "flour" ...
..$ : chr "olive oil" "purple onion" "fresh pineapple" "pork" ...
..$ : chr "chopped tomatoes" "fresh basil" "garlic" "extra-virgin olive oil" ...
В своем уроке у них есть набор данных, который был преобразован таким образом, что существует три столбцы, идентификатор, кухня и ингредиенты, но ингредиенты имеют только один ингредиент (это означает, что для одного и того же идентификатора имеется несколько строк).
Обычно, когда мне нужно сделать что-то подобное, я использую функцию dplyr «сбор», но в этом случае это не сработает, так как это для сбора нескольких столбцов, а не для разбивки столбца, содержащего символ векторы различной длины. Я также пытался использовать функцию Отдельные (), но для этого необходимо указать столбцы, на которые вы хотите разделить векторы, что я не могу сделать, так как все они различаются по длине.
Если бы кто-нибудь мог дать мне представление о том, как я go о преобразовании вышеуказанного кадра данных, чтобы он был длинным, я был бы очень благодарен.
Большое спасибо!