R - изменить форму кадра данных из повторяющихся имен столбцов, но с уникальными значениями

Привет, у меня есть фрейм данных, который выглядит следующим образом

введите описание изображения здесь

Я хочу применить к нему функцию, чтобы он изменил его так

введите описание изображения здесь

Как бы я это сделал?


person cavs    schedule 08.08.2016    source источник
comment
Честно говоря, лучше всего иметь дело с повторяющимися именами столбцов в восходящем направлении, чтобы они вообще не возникали. Здесь rbind два подмножества вместе.   -  person alistaire    schedule 09.08.2016


Ответы (1)


Вот один из вариантов, который может сработать. W перебирает unique names набора данных, создает логический индекс с ==, извлекает столбцы unlist, создает data.frame, а затем cbind вместе или просто использует data.frame (предполагается, что количество повторяющихся элементов одинаково для каждого набора )

 data.frame(lapply(unique(names(df1)), function(x)
     setNames(data.frame(unlist(df1[names(df1)==x], use.names = FALSE)), x)))
#  type model make
#1    a     b    c
#2    d     e    f

данные

df1 <- data.frame(type = "a", model = "b", make = "c", type = "d",
      model = "e",
      make = "f", check.names=FALSE, stringsAsFactors=FALSE)
person akrun    schedule 09.08.2016