簡體   English   中英

從長到寬重塑2列data.table

[英]Reshaping 2 column data.table from long to wide

這是我的data.frame:

library(data.table)
    df<- fread('

predictions Label
   3           A
   4           B
   5           C
   1           A
   2           B
   3           C
')

所需輸出:

A  B  C
3  4  5
1  2  3

我正在嘗試DesiredOutput<-dcast(df, Label+predictions ~ Label, value.var = "predictions")沒有成功。 感謝您的幫助!

df[, idx := 1:.N, by = Label]

dcast(df, idx ~ Label, value.var = 'predictions')
#   idx A B C
#1:   1 3 4 5
#2:   2 1 2 3

也許基本的R函數unstack是最干凈的解決方案:

unstack(df)
  A B C
1 3 4 5
2 1 2 3

請注意,這將返回一個data.frame而不是一個data.table,因此如果您想在最后使用data.table:

df2 <- setDT(unstack(df))

將返回一個data.table。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM