Как отменить список вложенного именованного списка без включения префикса в R?

#r

#r

Вопрос:

У меня есть следующий фрагмент кода:

 #example
test <- list("a" = 1, "b" = 2)
test2 <- list("x.y.z" = test)

unlist(test2["x.y.z"])
  

Этот результирующий именованный вектор выглядит следующим образом:

 x.y.z.a     x.y.z.b 
1           2
  

Однако я бы хотел, чтобы результат не включал префикс вложенного списка. Это должен быть именованный вектор, но я не хочу включать информацию о том, как он был вложен. Результат, который я ищу:

 a   b 
1   2
  

Я понимаю, что я, вероятно, могу перебирать каждый элемент и заменять все, кроме последнего символа, но я думаю, что должен быть более эффективный способ. Заранее спасибо.

Ответ №1:

Используйте [[

 unlist(test2[["x.y.z"]])

#a b 
#1 2 
  

Или $

 unlist(test2$x.y.z)