如何将“配对数据”读入R data.table?使用R列表?

时间:2016-09-12 19:47:12

标签: r list dictionary dataframe data.table

假设我在R中有data.table

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。这可能吗?我很困惑如何使用此对象定义xv字段。如果这是不可能的,那怎么办呢?

1 个答案:

答案 0 :(得分:4)

使用data.table(x = names(pairs), v = pairs)。这也适用于data.frame