data.table语法通过tstrsplit

时间:2017-05-30 12:09:36

标签: r data.table strsplit

解决this issue后仍然是data.table的新手我需要有类似问题的帮助,但无法让它工作:

我想创建一个新的dt,其名称DT_1被[+ - ]拆分为colnames

DT_1= data.table("t+e+s+t" = c(8),"t+e+s-t" = c(8))
        t+e+s+t t+e+s-t
1:      8        8

并获取DT_2的colnames作为行条目

DT_2 = data.table("+++-" = c("a","b"), "++-+" =c("e","f")) 

      +++- ++-+
1:    a    e
2:    b    f
3:    c    g
4:    d    h

所以决赛桌看起来像

   t   e   s   t
1: +   +   +   -
2: +   +   -   +

因为我需要表DT_1&的条目。 DT_2稍后我想要一个新的data.table。我试过了:

DT_final = data.table(str_split_fixed(colnames(DT_1), "[+-]")= c(tstrsplit(colnames(DT_2), "")))

可能无法在一行中解决这个问题。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

你可以尝试:

result <- as.data.table(tstrsplit(names(DT_2), ""))
names(result) <- unlist(strsplit(names(DT_1)[1], "[+-]"))

> result
   t e s t
1: + + + -
2: + + - +