考虑以下的数据帧合并两个长度不同的数据帧:通过更新信息
> tail(tot.final)
names.id sequence names.reads width.reads names.counts st end flag
819 125546 TAGCTTATATGACTGATGTTGACA 125546-4 24 4 8 31 TRUE
820 218783 TCGCTTATCAGACTGATGTTGAAA 218783-2 24 2 8 31 TRUE
821 272992 CAGCTTATCAGACTGATGTTGAAA 272992-2 24 2 8 31 TRUE
822 135191 TAGCTTATCAGACTGATGTTGAACA 135191-4 25 4 8 32 TRUE
823 278047 TAGCTTATCAGACTGATGTTGAAGA 278047-2 25 2 8 32 TRUE
824 317980 TAGCTTATCAGACTGATGTTGCCCT 317980-2 25 2 8 32 TRUE
head(plusa)
names.id sequence names.reads width.reads names.counts st end flag
2 28092 ATCAGACTGATGTTGAC 28092-29 17 29 14 30 TRUE
4 65308 TTATCAGACTGATGTTGA 65308-10 18 10 12 29 TRUE
6 71226 TATCAGACTGATGTTGAC 71226-9 18 9 13 30 TRUE
> nrow(tot.final)
[1] 824
> nrow(plusa)
[1] 421
plusa contains 451 rows with a common plusa$sequence column. (not sorted)
我想通过加入相应的plusa $ names.counts值更新tot.final $ names.counts元件plusa $序列。
考虑到“序列”字段为id,是否有可能以这种方式合并它们?
问题 - 为'names.id = 4'和'序列='TTATCAGACTGATGTTGA''在'plusa',该行'tot.final'你应该添加它,因为它们似乎都具有相同的序列?你是否想要从'plusa'存储新的'names.id','st','end','width.reads'等等,或者只更新'names.counts'? – 2012-02-06 04:08:28
names.id不计数,它是一个序列id,它与plusa中的序列id不对应。 ;我只想存储新的names.counts – agatha 2012-02-06 04:16:17
对不起,我误解了一个序列。所以,如果你在'plusa'中有一行'TAGCTTATCAGACTGATGT',那么你想添加哪一行'tot.final'(因为前4个都有相同的序列)?或者你只是想要一个新的数据框'序列'和'计数',其中'TTATCAGACTGATGTTGA''计数'是1505 + 46 + 26 + 23 +无论'plusa'中的任何匹配? – 2012-02-06 04:17:53