重塑(转换为字符)

时间:2017-11-02 14:33:53

标签: r dcast

我有以下矩阵

data=structure(list(Metric = c("x", "y"), Result1 = c(9, 
18), Result2 = c(7, 14
), Delta = c(-170, -401)), .Names = c("Metric", 
"Result_1", "Result_2", "Delta"), row.names = c(NA, 
-2L), class = "data.frame")

我想将其转换为1行并将列数加倍

我尝试了以下(as.vector(t(data)))。但是,当我这样做时,它会将所有内容转换为字符,并且我会丢失数据信息

任何帮助?

2 个答案:

答案 0 :(得分:1)

我们可以拆分数据框,然后使用bind_cols包中的dplyr。虽然我不确定这是你的预期输出,因为你没有提供任何例子,只是说明。

dplyr::bind_cols(split(data, data$Metric))

  Metric Result_1 Result_2 Delta Metric1 Result_11 Result_21 Delta1
1      x        9        7  -170       y        18        14   -401

答案 1 :(得分:1)

在Base R

dd=stack(data)
A=dd$values
names(A)=dd$ind
data.frame(as.list(A))

      Metric Metric.1 Result_1 Result_1.1 Result_2 Result_2.1 Delta Delta.1
1      x        y        9         18        7         14  -170    -401