【发布时间】:2018-11-06 18:20:45
【问题描述】:
什么是规范的dplyr或tidyverse合并两组键值对数据的方式?
第一个键值对是parameter-coeft。
第二个键值对是param-value。皱纹是这些值是重复的。
我想将它们合并为一个键值对。
dat <- tidyr::crossing(sim=c(1:5),
parameter=c('mu','sigma'),
param=c('sd','sd')
) %>%
dplyr::mutate(coeft=rnorm(n=10)) %>%
dplyr::mutate(value=sort(rep(rnorm(n=5),2)))
> dat
# A tibble: 10 x 5
sim parameter param coeft value
<int> <chr> <chr> <dbl> <dbl>
1 1 mu sd -1.91 -0.601
2 1 sigma sd -0.967 -0.601
3 2 mu sd -1.95 0.0645
4 2 sigma sd 0.676 0.0645
5 3 mu sd -0.891 0.673
6 3 sigma sd -0.328 0.673
7 4 mu sd -2.30 1.08
8 4 sigma sd 0.679 1.08
9 5 mu sd -0.598 1.99
10 5 sigma sd -0.339 1.99
所需结构:
# A tibble: 15 x 3
sim parameter coeft
<int> <chr> <dbl>
1 1 mu -1.91
2 1 sigma -0.967
3 1 sd -0.601
4 2 mu -1.95
5 2 sigma 0.676
6 2 sd 0.0645
...
【问题讨论】:
标签: r merge dplyr key-value tidyverse