我有以下数据集:
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
我想在x轴上绘制ggplot line graph
Date
,在y轴上绘制TOR_A, Success_rate_A
等。我还想在Name
列中看到它。如何准备此数据集以实现此目标?
我在R中尝试了reshape
但无法使其正常工作。
更新
使用reshape2::recast
方法完成,如下所示:
data_weekly = recast(data_frame_to_be_reshaped,variable+Name~Date,id.var=c(Name,Date))
答案 0 :(得分:0)
你可以使用Hadley Wickham的tidyr套装。
df_reshaped <- gather(df_original, key = Variable, Value, Tor_A:Success_rate)
如您所见,gather()函数中的第一个参数表示原始数据框。然后,您可以定义如何使用原始变量的名称命名列,然后如何使用其值将列命名为列。最后,指定要重塑的列。所有未指明的列(在我们的示例中:日期和名称)都保留原始数据框中的列。
如果你需要更多信息,Brad Boehmke发布了一个nice tutorial tidyr。