data.table 语法设置 colnames 和值基于其他 table 通过 tstrsplit 中的值

data.table syntax setting colnames and values based on values in other table via tstrsplit

在解决 之后,我还是 data.table 的新手,我需要帮助解决类似的问题,但无法解决:

我想创建一个新的 dt,它的 colnames 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 的同名作为行条目

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

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

所以最后的 table 看起来像

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

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

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

这可能无法在一行中解决。 感谢您的帮助。

你可以试试:

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

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