Проблемы с отображением и ненужными данными в R

#r #tidyverse #purrr #tibble

#r #tidyverse #муррр #tibble

Вопрос:

Я испытываю странное поведение (если я перезапускаю Rstudio, этот код работает нормально, однако, если я запускаю после запуска другого скрипта, появляется эта ошибка).

  1. Прочитайте XML-файл с помощью xml2

  2. root_players — это tibble 14 строк x 13 столбцов

введите описание изображения здесь

  1. node_players — это список tibbles

введите описание изображения здесь

  1. Ошибка при отображении и отмене списка (если я перезапущу R, этот код сработает…но после запуска другого кода происходит сбой) введите описание изображения здесь

информация о сеансе
введите описание изображения здесь

Просмотр кода

 
library(xml2)
library(tidyverse)


xml_filename <-"file.xml"
  
  
# Leer XML
datos <- read_xml(xml_filename)

meta_datos <- datos %>%
  xml_attrs() %>% 
  t() %>% 
  as_tibble()


root_players <- xml_find_all(datos, '/SoccerFeed/Player') %>%
  xml_attrs() %>%
  map(~as_tibble(t(.))) %>% 
  bind_rows()


node_players <- xml_find_all(datos, '/SoccerFeed/Player') %>% 
  map(~.x %>% 
        xml_children() %>% 
        map(function(.y) {.y %>% 
            xml_attrs() %>% 
            t() %>% 
            as_tibble() %>% 
            mutate(n_passes = xml_text(.y))}) %>% 
        bind_rows())

#############################
# HERE ERROR APPEARS
############################


root_players <- root_players %>% 
  mutate(n = map(node_players, count) %>% unlist()) %>% 
  uncount(weights = n)


#########################
### ERROR TRACE
#########################


Error: Assigned data `eval(cols[[col]], .data, parent.frame())` must be compatible with existing data.
x Existing data has 14 rows.
x Assigned data has 363 rows.
i Only vectors of size 1 are recycled.


<error/tibble_error_assign_incompatible_size>
Assigned data `eval(cols[[col]], .data, parent.frame())` must be compatible with existing data.
x Existing data has 14 rows.
x Assigned data has 363 rows.
i Only vectors of size 1 are recycled.
Backtrace:
Run `rlang::last_trace()` to see the full context

  

Комментарии:

1. Попробуйте purrr::flatten_dfr или dplyr::bind_rows

2. где именно? @ciakovx

3. Можете ли вы опубликовать некоторые примеры данных?