Растопить дафрейм с именами col в качестве значений - PullRequest
0 голосов
/ 19 февраля 2019

Из такого фрейма данных:

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

Как мы можем растопить данные, чтобы иметь имена столбцов в качестве значений.

Вот пример ожидаемого результата

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

Ответы [ 3 ]

0 голосов
/ 19 февраля 2019

Это случай для базовых R stack

stack(dframe)
#  values   ind
#1      1  data
#2      3 error
0 голосов
/ 19 февраля 2019

вы можете использовать melt в reshape2:

library(reshape2)
dframe_ex <- melt(dframe)

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

Если вы хотите иметь имена col, которые вы указали, то:

library(tidyverse)
dframe_ex <- melt(dframe) %>% 
  rename(id = variable, num = value)
0 голосов
/ 19 февраля 2019

используйте это

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

вывод равен

     id num
1  data   1
2 error   3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...