R-归一化值(基于某些值)

问题描述 投票:0回答:1

我想规范化R中的数据,但不规范特定范围内的数据(例如0到1)。我有一个如下表:

 benchmark  |   technique     | ipc
correlation | no_compression  | 0.5
correlation | compression-bdi | 0.6
  trisolv   | no_compression  | 0.6
  trisolv   | compression-bdi | 0.7

我希望每个基准的IPC的no_compression值均为1。特定基准的其余技术将基于该no_compression值。因此,例如,用于压缩的bdi的IPC值与相关性为1.2。

我可以使用任何功能吗?我只能提到规范化到一定范围的内容。

r normalization
1个回答
0
投票

使用dplyr

df %>% 
  group_by(benchmark) %>% 
  mutate(ipc_standardized = ipc / ipc[technique == 'no_compression'])
# A tibble: 4 x 4
# Groups:   benchmark [2]
  benchmark   technique         ipc ipc_standardized
  <chr>       <chr>           <dbl>            <dbl>
1 correlation no_compression    0.5             1   
2 correlation compression-bdi   0.6             1.2 
3 trisolv     no_compression    0.6             1   
4 trisolv     compression-bdi   0.7             1.17
© www.soinside.com 2019 - 2024. All rights reserved.