2017-03-23 53 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