我想通过创建 3 个额外的列来创建
pivot_long
我的数据框; mean_stat
, med_stat
& sample
填入相应的值。
这是我的策略
mean_stat
来自mean_stat.x, mean_stat.y, mean_stat
med_stat
来自med_stat.x, med_stat.y, med_stat
sample
来自sample.x, sample.y, sample
请问我有办法做到这一点吗?我尝试了下面的代码,但不断出错。
> data_head %>% pivot_longer(col= !c("seqnames",
+ "start","end","strand",
+ "pos","mgi_symbol",
+ "ensembl_transcript_id_version",
+ "ensembl_gene_id_version"),
+ names_to = c("mean_stat.x", "mean_stat.y","mean_stat",
+ "med_stat.x", "med_stat.y", "med_stat",
+ "sample.x","sample.y","sample"),
+ values_to=c("mean_stat","med_stat","sample"))
Error in `build_longer_spec()`:
! If you supply multiple names in `names_to` you must also supply one of `names_sep` or `names_pattern`.
Run `rlang::last_error()` to see where the error occurred.
数据看起来像这样
> structure(as.data.frame(data_head))
pivot_longer(col= !c("seqnames",
seqnames start end strand pos mean_stat.x med_stat.x sample.x
1 chr6 6862382 6862382 + 6862382 0.197929599 0.0165784050 P_1
2 chr6 6862382 6862382 + 6862382 0.197929599 0.0165784050 P_1
3 chr6 6862383 6862383 - 6862383 0.199321381 0.1455393145 P_1
4 chr6 6862383 6862383 - 6862383 0.199321381 0.1455393145 P_1
5 chr6 6862427 6862427 + 6862427 0.004064337 0.0007042593 P_1
6 chr6 6862427 6862427 + 6862427 0.004064337 0.0007042593 P_1
mgi_symbol ensembl_transcript_id_version ensembl_gene_id_version mean_stat.y
1 Dlx6 ENSMUST00000160937.8 ENSMUSG00000029754.13 0.0007648522
2 Dlx6 ENSMUST00000171311.7 ENSMUSG00000029754.13 0.0007648522
3 Dlx6 ENSMUST00000160937.8 ENSMUSG00000029754.13 0.3942963279
4 Dlx6 ENSMUST00000171311.7 ENSMUSG00000029754.13 0.3942963279
5 Dlx6 ENSMUST00000160937.8 ENSMUSG00000029754.13 0.0037582127
6 Dlx6 ENSMUST00000171311.7 ENSMUSG00000029754.13 0.0037582127
med_stat.y sample.y mean_stat med_stat sample
1 0.0007648522 P_2 0.221987652 0.0079923415 P_3
2 0.0007648522 P_2 0.221987652 0.0079923415 P_3
3 0.3942963279 P_2 0.352667338 0.2562769232 P_3
4 0.3942963279 P_2 0.352667338 0.2562769232 P_3
5 0.0037582127 P_2 0.008925996 0.0007521775 P_3
6 0.0037582127 P_2 0.008925996 0.0007521775 P_3