2016-09-12 5 views
1

Скажем, у меня есть data.table в R:Как читать «парные данные» в R data.table? Использование списка R?

library("data.table") 
DT = data.table(x=c("b","b","b","a","a","a"),v=rnorm(6)) 

> DT 
     x   v 
    1: b 0.77399102 
    2: b 0.71450334 
    3: b 0.07187842 
    4: a -0.88098815 
    5: a -0.90192891 
    6: a 0.66439642 

Я поставляю вектор для x поля и вектор для v поля, каждый с 6.

Однако, вы видите, что я поставляю b три раза, и a три раза. Это пара ключ-значение, т.е.

'b' : '0.77399102', '0.71450334', '0.07187842' 
'a' : '-0.88098815', '-0.90192891', '0.66439642' 

В R, можно было бы реализовать это в виде списка, т.е.

pairs = list(b = c('0.77399102', '0.71450334', '0.07187842'), 
      a = c('-0.88098815', '-0.90192891', '0.66439642')) 

Я хотел бы ввода списка R pairs в data.table. Это возможно? Я смущен, как определить поля x и v с этим объектом. Если это невозможно, как это сделать?

+0

Что вы хотите получить после ввода «пар» в 'data.table'? – Psidom

+0

Что не так с 'data.table (pairs = pairs)'? Столбец поддерживает как 'data.frame', так и' data.table'. –

+0

Как начинаются ваши данные? Если в XML или JSON есть хорошие пакеты для разбора его на объекты R ... – Gregor

ответ

4

Использование data.table(x = names(pairs), v = pairs). Это также работает с data.frame.