Я пытаюсь запустить строку кода, которая читает более 55 столбцов. У 20 из них есть расстояния местоположения от других городов. Этот код ищет кратчайшее расстояние и заполняет новый столбец названием города, который имеет кратчайшее расстояние от местоположения. Я запускаю код на двух почти идентичных наборах данных, за исключением того, что в первом столбце намного больше, чем во втором.
Enrollment_Report$nearest_hub <- hub_locations_list$hub_loc[apply(Enrollment_Report[grep("^dist", names(Enrollment_Report))], 1, which.min)]
Это выдает эту ошибку, но только с первым набором данных:
invalid subscript type 'list'
Проблема в том, что этот код работает с одним набором данных, а не с другим. В коде нет опечаток, и с первым набором данных класс выглядит следующим образом:
class(Enrollment_Report)
[1] "tbl_df" "tbl" "data.frame"
Но второй набор данных, над которым работает код, это класс:
class(all_employee_locations)
[1] "spec_tbl_df" "tbl_df" "tbl" "data.frame"
Мой вопрос: как мне получить первый набор данных класса spec_tbl_df? Я не знаю, почему R читает во втором наборе данных таким образом автоматически, и я не могу найти функцию, которая бы заставляла его читать его таким образом.
Важно, чтобы я сделал этот класс явным, потому что этот код перестал работать с внезапно не работающим (даже после сброса моего сеанса).