如何使用 dcast() 将 5x2 data.table 转换为 1x5 data.tabe?

How to use dcast() to convert a 5x2 data.table to a 1x5 data.tabe?

我有以下data.table

DT

ABBREVIATION    FULL_TEXT
-----------------------------
    DCD         TEXT1
    PCK         TEXT2
    KLM         TEXT3
    NOP         TEXT4
    XYZ         TEXT5

我想转换 data.table 以便每个 "ABBREVIATION" 都是它自己的列名。还有一行详细说明了 "FULL_TEXT",所以

DCD     PCK     KLM     NOP     XYZ
------------------------------------
TEXT1   TEXT2   TEXT3   TEXT4   TEXT5

我尝试使用

dcast(DT, FULL_TEXT ~ ABBREVIATION, value.var = "FULL_TEXT")

但这不起作用。谢谢

dcast(df, 1 ~ ABBREVIATION, value.var = 'FULL_TEXT')[, -1, with = FALSE]
#      DCD   KLM   NOP   PCK   XYZ
# 1: TEXT1 TEXT3 TEXT4 TEXT2 TEXT5

不过你应该改用转置

data.table::transpose(df, make.names = 'ABBREVIATION')
#      DCD   PCK   KLM   NOP   XYZ
# 1: TEXT1 TEXT2 TEXT3 TEXT4 TEXT5

使用的数据

df <- fread('
ABBREVIATION    FULL_TEXT
    DCD         TEXT1
    PCK         TEXT2
    KLM         TEXT3
    NOP         TEXT4
    XYZ         TEXT5
')