R 重塑(转换为字符)

R 重塑(转换为字符),r,dcast,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") 我想将它转换为一行,并将列数增加一倍 我尝试了以下(

我在下面的矩阵中有一个

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\u 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

我们可以拆分数据帧,然后使用
dplyr
包中的
bind\u 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
在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

一个向量不能包含多个类。也许你只是在寻找
取消列表(数据)
?这个取消列表(数据)还将我的数据转换为字符哦..没关系。。。我以为你想要一个向量。您的意思是只有一个行的数据帧向量不能包含多个类。也许你只是在寻找
取消列表(数据)
?这个取消列表(数据)还将我的数据转换为字符哦..没关系。。。我以为你想要一个向量。您是指只有一行的数据帧