【发布时间】:2019-04-13 01:18:46
【问题描述】:
我有一个 xstringset 对象
A DNAStringSet instance of length 151674
width seq names
[1] 253 GAACAGCATGAATGTTAAAACTGAAATGGATG...TGATGGTTAGGTTTTCAGAAAAAGCAGAAGA LGKD01000001.1 Oc...
[2] 150158 TATATATATATAGTCAATTCGAGGATGTTAGA...TCCGGATACTATTCCAGAGTTTCCTTGCAAA KQ415657.1 Octopu...
[3] 619 ATAGACATACACACAAATATTTTTATATCACA...TATATACATATTTATACATATATATATATAT LGKD01000030.1 Oc...
[4] 359 TCACCAGTGGCAGCCGCGGCTACAGCAAAAGG...CACGGGCTGTACAACGACCCTGATGACTCCG LGKD01000031.1 Oc...
[5] 239 GAAGTGGTAAAGAGTGCGATGCGCTGAAAAAA...CTCTTTTTTCAGCGCATCGCACTCTTTACCA LGKD01000032.1 Oc...
... ... ...
[151670] 2021 AAAACCTAAACATGTTAAATCAGAGATTGCAA...ATATATAAGTATATATATATATATATATATA KQ434080.1 Octopu...
[151671] 420 CCCCACCTCCACTATCAACACCACTACCACCA...GAAGAAGAAGAAGAAGAAGAAGAAGAAGAAG LGKD01700121.1 Oc...
[151672] 424 ACACACACACACACACACACACATATACATAT...GTAAATGTGTCCGTGTGTAGTAAGCATGTGT LGKD01700122.1 Oc...
[151673] 242 ATATATATATATATATATACATCAACATATAT...ATATGTAGACGTGTGTGTATATATATATATA LGKD01700123.1 Oc...
[151674] 214 CACACACACACACACACACACACACACACACA...ACTCATATGTACAACACACATTTATACGCTT LGKD01700124.1 Oc...
>
我按降序排序得到这个:
> sort_oc=sort(width(oc), decreasing = TRUE)
> sort_oc[1:10]
[1] 4064693 3315273 3181678 3174068 2987449 2908116 2784626 2705535 2686354 2631168
如何获取排序得到的每个宽度对应的字符串?
例如,我希望得到这样的结果:
width seq names
[567] 4064693 GAACAGCATGAATGTTAAAACTGAAATGGATG...TGATGGTTAGGTTTTCAGAAAAAGCAGAAGA LGKD01000001.1 Oc...
[350] 3315273 AAAACCTAAACATGTTAAATCAGAGATTGCAA...ATATATAAGTATATATATATATATATATATA KQ434080.1 Octopu...
等等
【问题讨论】:
-
如果所有字符串的宽度都不同,您可以尝试left_join。比如
sort_oc %>% left_join(df_DNA, by = "width")。 -
您是否尝试根据您的
width列按降序对数据框进行排序?如果是这样,这是否满足您的需求?例如,oc[order(oc$width, decreasing = T),] -
安德鲁,我认为您的建议可能是解决方案,但没有奏效。
oc[order(oc$width, decreasing =T),] Error in order(..., decreasing = T) : argument 1 is not a vector
标签: r bioconductor