使用col名称作为值融化daframe

时间:2019-02-19 01:02:07

标签: r

从这样的数据框中获取:

dframe = data.frame(data = c(1), error = c(3))

我们如何融合以col名称作为值的数据。

以下是预期输出的示例

 dframe_ex = data.frame(id=c("data","error"), num=c(1,3))
 dframe_ex
     id num
1  data   1
2 error   3

3 个答案:

答案 0 :(得分:2)

使用此

library(tidyr)
dframe %>%
  gather(id, num)

输出是

     id num
1  data   1
2 error   3

答案 1 :(得分:2)

这是基数R的stack

的一种情况
stack(dframe)
#  values   ind
#1      1  data
#2      3 error

答案 2 :(得分:0)

您可以在melt中使用reshape2

library(reshape2)
dframe_ex <- melt(dframe)

> print(dframe_ex)
  variable value
1     data     1
2    error     3

如果要使用指定的列名,则:

library(tidyverse)
dframe_ex <- melt(dframe) %>% 
  rename(id = variable, num = value)