将列的字符串值设置为列名

Set strings values of a columns as a columns names

我知道样本 1 中的 x、y 和 z 值分别为 100、200 和 300。

A B C
1 x 100
1 y 200
1 z 300

如何转置 table 作为列名称的值 x、y 和 z?保持 C 列每个样本的值有序? 我想实现这样的目标:

A x y z
1 100 200 300

谢谢!

# load package
library(data.table)

# set dataframe as data table
setDT(df)

# pivot long to wide
dcast(df
      , a ~ b
      , value.var = 'c'
      )
df <- data.frame(A=c(1,1,1), B=c("x", "y", "z"), C=c(100,200,300))
tidyr::pivot_wider(df, names_from="B", values_from="C")

# A tibble: 1 x 4
      A     x     y     z
  <dbl> <dbl> <dbl> <dbl>
1     1   100   200   300