2015-11-13 3 views
-1

У меня есть следующий набор данных:Перестройка dataframe (преобразование строк в столбцы)

Name TOR_A Success_rate_A Realizable_Prod_A Assist_Rate_A Task_Count_A  Date 
1 BVG1 2.00    85    4.20   0.44   458 31/01/2014 
2 BVG2 3.99    90    3.98   0.51   191 31/01/2014 
3 BVG3 4.00    81    8.95   0.35   1260 31/01/2014 
4 BVG4 3.50    82    2.44   4.92   6994 31/01/2014 
5 BVG1 2.75    85    4.00   2.77   7954 07/02/2014 
6 BVG2 4.00    91    3.50   1.50   757 07/02/2014 
7 BVG3 3.80    82    7.00   1.67   7898 07/02/2014 
8 BVG4 3.60    83    3.50   4.87   7000 07/02/2014 

Я желаю для построения ggplot line graph с Date по оси х и т.д. TOR_A, Success_rate_A на оси у. Я также хотел бы увидеть его в колонке Name. Как я могу подготовить этот набор данных для достижения этой цели?

Я пробовал reshape в R, но не смог заставить его работать.

UPDATE

Done его с помощью reshape2::recast метода, как показано ниже:

data_weekly = recast(data_frame_to_be_reshaped,variable+Name~Date,id.var=c(Name,Date)) 
+2

Не размещайте ваши данные в качестве изображения, пожалуйста, узнайте, как дать [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610) – Jaap

+1

Вам нужно расплавить ваши данные (используйте для этого параметр 'reshape2'-package), а затем вы можете создать свой сюжет и пометить его по имени. [Этот ответ] (http://stackoverflow.com/questions/33689150/loop-generate-plots-for-variables-in-a-data-frame) с сегодняшнего дня может быть полезным (он показывает код для расплавления и создания граней). – Heroka

ответ

0

Вы можете использовать пакет tidyr Хэдли Уикхема.

df_reshaped <- gather(df_original, key = Variable, Value, Tor_A:Success_rate) 

enter image description here

Как вы можете видеть, первый аргумент в сбор() функция показывает исходный кадр данных. Затем вы определяете, как вы хотите назвать столбец с именами ваших исходных переменных, а затем как следует назвать столбец со своими значениями. Наконец, вы указываете, какие столбцы вы хотите изменить. Все столбцы, которые не будут указаны (в нашем примере: дата и имя), остаются такими, какими они были в исходном фрейме данных.

Существует nice tutorial на tidyr, опубликованный Brad Boehmke, в случае, если вам понадобится дополнительная информация.

Смежные вопросы