2017-03-23 51 views
1

假設我有以下格式的數據幀,從.csv文件中獲得:移調數據幀

Measurement Config Value 
--------------------------- _ 
Time   A  10  |  
Object   A  20  | Run 1  
Nodes   A  30  _|  
Time   A  8  |  
Object   A  18  | Run 2 
Nodes   A  29  _| 
Time   B  9  | 
Object   B  20  | Run 3 
Nodes   B  35  _| 
... 

但是也有一些每次運行期間所採取的Measurements固定數目,並每次運行與給定Config運行。 每次運行的Measurements是固定的(例如,每運行由一個時間,一個對象和在上面的例子中一個節點的測量的),但也可以爲單個配置(例如,配置A在被運行兩次是多個運行上面的例子,B僅一次)

我的主要目標是暗算Nodes(y軸)二那些測量類型,例如,情節Objects(x軸)之間的相關性(散點圖)和突出不同Configs(顏色)

我認爲如果數據框的格式如下,可以達到最佳效果:

Config Time Objects Nodes 
-------------------------- 
A  10 20  30   <- Run 1 
A  8  18  29   <- Run 2 
B  9  20  35   <- Run 3 

即,創建基於所述Measurement -column的因子值的列,並分配各個Value - 值到細胞中。

有R中的「易」的方式來實現這一目標?

回答

2

首先創建一個run變量:

# option 1: 
d$run <- ceiling(seq_along(d$Measurement)/3) 

# option 2: 
d$run <- 1 + (seq_along(d$Config)-1) %/% 3 

然後你從reshape2data.table重塑的廣泛寬幅與dcast功能:

reshape2::dcast(d, Config + run ~ Measurement, value.var = 'Value') 

然後你會得到:

Config run Nodes Object Time 
1  A 1 30  20 10 
2  A 2 29  18 8 
3  B 3 35  20 9