重塑(转换为角色)
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
我有以下矩阵
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