У меня есть два набора данных с большим количеством столбцов (55 в наборе данных 1 и 42 в наборе данных два).У каждого из них есть тонны строк, которые начинаются с «dist_», и я пытаюсь получить код, чтобы определить, какой столбец имеет наименьшее расстояние, и разместить это местоположение.Оба выглядят так, но набор данных 1 содержит больше демографической информации, чем второй.
ilt_city__state_country dist_antwerp dist_bangkok dist_beijing
<chr> <dbl> <dbl> <dbl>
1 tokyo na jpn 5855. 2866. 1.31e+ 3
2 tokyo na jpn 5855. 2866. 1.31e+ 3
3 beijing na chn 4931. 2049. 1.32e-12
4 singapore na sgp NA NA NA
5 so paulo na bra 6025. 10194. 1.09e+ 4
Так что код, который я должен определить для расположения шкафа, выглядит так:
Enrollment_Report$nearest_hub <- hub_locations_list$hub_loc[apply(Enrollment_Report[grep("^dist", names(Enrollment_Report))], 1, which.min)]
И это выдает эту ошибку:
Error in hub_locations_list$hub_loc[apply(Enrollment_Report[grep("^dist", :
invalid subscript type 'list'
Но что странно, когда я использую практически тот же код во втором наборе данных, он работает без проблем:
all_locations$nearest_hub <- hub_locations_list$hub_loc[apply(all_locations[grep("^dist", names(all_locations))], 1, which.min)]
Я пытался использоватьunlist (), но это не работает.Я также попытался найти класс наборов данных, и вот что я получаю:
> class(Enrollment_Report)
[1] "tbl_df" "tbl" "data.frame"
> class(all_locations)
[1] "spec_tbl_df" "tbl_df" "tbl" "data.frame"
Я никогда не слышал о spec_tbl_df, но это единственное отличие, которое я могу найти между этими двумя наборами данных.Есть ли способ сделать первый также spec_tbl_df и что это такое?
Спасибо!