gpt4 book ai didi

r - 根据另一列的值连接一列的行

转载 作者:行者123 更新时间:2023-12-03 16:00:06 26 4
gpt4 key购买 nike

我有这种格式的数据:

       df <- data.frame(seqpart=factor(c("", "ccagttgttg", "tttgattcg", "ctttgtc","", "ctttgtcga","cttagta", "ttactgt", "ttacat")), 
seqinfo= factor(c("IDseq1|specie1", "", "","","IDseq2|specie2","","","","")))

> df
seqpart seqinfo
<NA> IDseq1|specie1
ccagttgttg <NA>
tttgattcg <NA>
ctttgtc <NA>
<NA> IDseq2|specie2
ctttgtcga <NA>
cttagta <NA>
ttactgt <NA>
ttacat <NA>

我想根据 seqinfo 列连接行,以使用这种新格式构造另一个数据:

>df1    
seqinfo seq
IDseq1|specie1 ccagttgttgtttgattcgctttgtc
IDseq2|specie2 ctttgtcgacttagtattactgtttacat

有没有办法做到这一点?非常感谢

最佳答案

来自 tidyverse 的另一个想法。我们首先将 '' 替换为 NA 并填充它们。我们按 seqinfo 分组并粘贴唯一的 seqparts,即

library(tidyverse)

df %>%
mutate_all(funs(replace(., . == '', NA))) %>%
fill(seqpart, .direction = 'up') %>%
fill(seqinfo) %>%
group_by(seqinfo) %>%
summarise(seqpart = paste(unique(seqpart), collapse = ''))
  A tibble: 2 x 2
seqinfo seqpart
<fctr> <chr>
1 IDseq1|specie1 ccagttgttgtttgattcgctttgtc
2 IDseq2|specie2 ctttgtcgacttagtattactgtttacat

关于r - 根据另一列的值连接一列的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45298279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com