重塑(转换为角色)

reshape (converting to character)

我有以下矩阵

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")

我想将它转换成一行,并将列数加倍

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

有什么帮助吗?

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

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

在基础 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