Я пытаюсь преобразовать именованный и вложенный список во фрейм данных (к вашему сведению, список является продуктом функции st_nn
, где nn обозначает ближайшего соседа, а d обозначает расстояние). Ниже приведен воспроизводимый пример.
nn <- list(c(1,2), c(2,3))
d <- list(c(0, 100), c(11,43))
l <- list(nn, d)
df
- это то, что я хочу.
df <- data.frame(nn1 = c(1,2),
nn2 = c(2,3),
d1 = c(0, 11),
d2 = c(100, 43))
Приведенный ниже код выполняет эту работу несколько ad-ho c, но мне любопытно, есть ли более элегантный подход (предпочтительно tidyverse
подход).
df2 <- data.frame(rbindlist(l) %>% t()) %>% rename(nn1 = X1, nn2 = X2, d1 = X3, d2 = X4)