Извлечение векторов из элементов списка векторов - PullRequest
3 голосов
/ 28 декабря 2011

У меня есть некоторые данные json [{a:10, b:123,c:4.5},{a:2,b:5,c:33}] и так далее, которые я считал в R через json_data <- fromJSON(paste(json_file, collapse="")) (json_file - это URL-адрес ввода).Пока все хорошо.Теперь я хотел бы создать векторы из этого входа, который fromJSON преобразовал в Список векторов, где векторы имеют компоненты a, b, c.

Есть ли лучший способ, чем зацикливание на входном списке иделать это вручную, объединяя отдельные компоненты вектора на новый целевой вектор (ы)?

1 Ответ

5 голосов
/ 28 декабря 2011

Если у вас есть такой список:

l <- list(c(a=10, b=123, c=4.5),c(a=2,b=5,c=33))

Вы можете просто сделать что-то вроде следующего:

df <- data.frame(do.call(rbind, l))
#    a   b    c
# 1 10 123  4.5
# 2  2   5 33.0
as.list(df)
# $a
# [1] 10  2
# $b
# [1] 123   5
# $c
# [1]  4.5 33.0

(Конструкция do.call(rbind, X) удобна, что позволяетrbind вместе элементы списка произвольной длины. Затем вы можете нарезать и нарезать результирующую матрицу по своему усмотрению - я просто преобразовал ее в data.frame, а затем в list, чтобы показать парувозможности.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...