我无法将数据框转至每个观察集的一行中。数据框内嵌套有成对的观测值(Copy;Forward Template和 Reverse Template ,值为prim)Accession。我正在尝试将数据透视更宽,在最终数据框中为每个配对观察留一行,我需要能够在总结时copy进行跟踪Accession。
展望未来,我还想在每个副本中包含三个观察结果(未包含在本示例中)。
下面的代码为 的每个值生成一个单独的列prim。
library(tibble)
library(dplyr)
library(tidyr)
df <-
structure(list(prim = c("Template 601881 .................... 601900",
"Template 601973 ...................... 601952", "Template 331595 .................... 331614",
"Template 331687 ...................... 331666", "Template 196557 .................... 196576",
"Template 196649 ...................... 196628", "Template 153933 .................... 153952",
"Template 154025 ...................... 154004", "Template 2100939 .................... 2100920",
"Template 2100847 ...................... 2100868", "Template 11970 .................... 11989",
"Template 12062 ...................... 12041", "Template 2030677 .................... 2030658",
"Template 2030585 ...................... 2030606", "Template 1988028 .................... 1988009",
"Template 1987936 ...................... 1987957", "Template 1850917 .................... 1850898",
"Template 1850825 ...................... 1850846", "Template 1580702 .................... 1580683",
"Template 1580610 ...................... 1580631"),
Accession = c("CP042983.1", "CP042983.1", "CP042983.1", "CP042983.1",
"CP042983.1", "CP042983.1", "CP042983.1", "CP042983.1", "CP042983.1",
"CP042983.1", "CP043001.1", "CP043001.1", "CP043001.1", "CP043001.1",
"CP043001.1", "CP043001.1", "CP043001.1", "CP043001.1", "CP043001.1",
"CP043001.1"), Genus = c("Histophilus", "Histophilus", "Histophilus",
"Histophilus", "Histophilus", "Histophilus", "Histophilus",
"Histophilus", "Histophilus", "Histophilus", "Histophilus",
"Histophilus", "Histophilus", "Histophilus", "Histophilus",
"Histophilus", "Histophilus", "Histophilus", "Histophilus",
"Histophilus"), Species = c("somni", "somni", "somni", "somni",
"somni", "somni", "somni", "somni", "somni", "somni", "somni",
"somni", "somni", "somni", "somni", "somni", "somni", "somni",
"somni", "somni"), Metric = c("Forward Template", "Reverse Template",
"Forward Template", "Reverse Template", "Forward Template",
"Reverse Template", "Forward Template", "Reverse Template",
"Forward Template", "Reverse Template", "Forward Template",
"Reverse Template", "Forward Template", "Reverse Template",
"Forward Template", "Reverse Template", "Forward Template",
"Reverse Template", "Forward Template", "Reverse Template"
)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA,
-20L))
tmp<-
df %>%
mutate(CopyID = rep(1:1000, each = 2)) %>%
group_by(Accession) %>%
mutate(AccessID = group_indices()) %>%
pivot_wider(names_from = Metric, values_from = prim)
tmp
Run Code Online (Sandbox Code Playgroud)
如何创建一个数据框,其中填充了Reverse Template和Forward Template列,并且每个观察仅创建一行?
干杯
将数据分组为Metric:
library(dplyr)\n\ndf %>%\n group_by(Metric) %>%\n mutate(row = row_number()) %>%\n tidyr::pivot_wider(names_from = Metric, values_from = prim) %>%\n select(-row)\n\n# A tibble: 5 x 5\n# Accession Genus Species `Forward Template` `Reverse Template` \n# <chr> <chr> <chr> <chr> <chr> \n#1 CP042983.1 Histop\xe2\x80\xa6 somni 601881 ............\xe2\x80\xa6 601973 ............\xe2\x80\xa6\n#2 CP042983.1 Histop\xe2\x80\xa6 somni 331595 ............\xe2\x80\xa6 331687 ............\xe2\x80\xa6\n#3 CP042983.1 Histop\xe2\x80\xa6 somni 196557 ............\xe2\x80\xa6 196649 ............\xe2\x80\xa6\n#4 CP042983.1 Histop\xe2\x80\xa6 somni 153933 ............\xe2\x80\xa6 154025 ............\xe2\x80\xa6\n#5 CP042983.1 Histop\xe2\x80\xa6 somni 2100939 ...........\xe2\x80\xa6 2100847 ...........\xe2\x80\xa6\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
1596 次 |
| 最近记录: |