Я с трудом пытаюсь преобразовать мой фрейм данных в список векторов, где его имя - строка в первом столбце фрейма данных, а сам вектор - это уже вектор во втором столбце моих данных.frame.
У меня есть этот фрейм данных:
> head(df)
Intron.ID
1 AT1G79930.2
2 ATCG00720.1
3 AT1G02080.2
4 AT4G32551.2
5 AT5G66190.1
6 AT1G51720.1
Sequence.s.
1 ['GAGGTGCTTGCAAATCGTTCACATCACTGTACTGCACATCAACAGAGAAT']
2 ['GCTTCTTTGTATTTTATGTTTTTAGTCATTATAGCTTTTTTTTTGAATAA', 'TGTTTGAGCTGTACGAGATGAAATTCTCATATACAGTTCTTGGAGGGGGG']
3 ['CTCACCCGGAGTTAGTCACTGTTATTGAACAAGCACTTTCAAGGATATCA']
4 ['AAGTGGTGGTATGTCTCCACAGGTTCAAACTCGAAATCAGCAACTTCCTG']
5 ['AAGGGTTCTTAGGTTTGAATTTGTTGACAACAATCCCTTCTTCCTGTTTC']
6 ['ATTTGGCTTCTCACATAACACTGAAGCTGTGTGACTTGTGTACAATTTTG', 'CTGAGTTAATCTAATAAGCAAGATACATTTTACTTTCGTTTTCCTCTTCC']
И мне нужен этот вывод:
$AT1G79930.2
[1] "GAGGTGCTTGCAAATCGTTCACATCACTGTACTGCACATCAACAGAGAAT"
$ATCG00720.1
[1] "GCTTCTTTGTATTTTATGTTTTTAGTCATTATAGCTTTTTTTTTGAATAA" "TGTTTGAGCTGTACGAGATGAAATTCTCATATACAGTTCTTGGAGGGGGG"
$AT1G02080.2
[1] "CTCACCCGGAGTTAGTCACTGTTATTGAACAAGCACTTTCAAGGATATCA"
$AT4G32551.2
[1] "AAGTGGTGGTATGTCTCCACAGGTTCAAACTCGAAATCAGCAACTTCCTG"
$AT5G66190.1
[1] "AAGGGTTCTTAGGTTTGAATTTGTTGACAACAATCCCTTCTTCCTGTTTC"
$AT1G51720.1
[1] "ATTTGGCTTCTCACATAACACTGAAGCTGTGTGACTTGTGTACAATTTTG" "CTGAGTTAATCTAATAAGCAAGATACATTTTACTTTCGTTTTCCTCTTCC"
Ближайший результат, который я получил, был следующей командой:
> df2 <- split(df, df[1])
> head(df2)
$`AT1G01760.2 `
Intron.ID Sequence.s.
11 AT1G01760.2 ['ACCGGTTGTTCCAAGAATAACTTCGTGTAAGCCAGAATAGTTCCAACACA']
$`AT1G02080.2 `
Intron.ID Sequence.s.
3 AT1G02080.2 ['CTCACCCGGAGTTAGTCACTGTTATTGAACAAGCACTTTCAAGGATATCA']
$`AT1G04430.2 `
Intron.ID Sequence.s.
9 AT1G04430.2 ['CATTATGAACGGCATTGTCCTCCTCCCGAAAGACGGTTTAATTGTTTGAT']
$`AT1G06150.1 `
Intron.ID Sequence.s.
45 AT1G06150.1 ['TGCTAGTGGATCCGTAAGTGCCAAAAATAAATGCCTGATATGAGTCACCA']
$`AT1G17680.3 `
Intron.ID Sequence.s.
48 AT1G17680.3 ['GCAAGCACCAGCTTTCGATATAGCATACTATTACCTTTCACGTGTTTCTG']
$`AT1G18470.2 `
Intron.ID Sequence.s.
81 AT1G18470.2 ['TTCCTTCGTCAATTGACCACCAACCTAATAGCCTGGAACCATGGTGCAAG']
Все неправильно: последовательности не соответствуют правильному назначению имени, а некоторые последовательности отсутствуют.Это не хорошее решение ...
Дополнительная информация в соответствии с запросом (я добавил 2 '...'):
> dput(head(df))
structure(list(Intron.ID = structure(c(15L, 80L, 2L, 58L, 79L,
9L), .Label = c("AT1G01760.2 ", "AT1G02080.2 ", "AT1G04430.2 ",
"AT1G06150.1 ", "AT1G17680.3 " ...), class = "factor"), Sequence.s. = structure(c(49L,
59L, 39L, 3L, 2L, 15L), .Label = c(" ['AAACACAAGGGTGGGGTTGACTCTCAAACTCACAAAAAGTTACATTTTCT']",
" ['AAGGGTTCTTAGGTTTGAATTTGTTGACAACAATCCCTTCTTCCTGTTTC']", " ['AAGTGGTGGTATGTCTCCACAGGTTCAAACTCGAAATCAGCAACTTCCTG']",
" ['AATCCATAAAGAAAATGGAGGAGAACATTCAGAATCTGGAAGGTAAGAAC', 'GATTTATGCTTTGGCAACAAAGAGTAGTCATATTCCATACAGGAACTCAA']",
" ['AATTGATCCAGATTGTAGATTAATTGGACTCCATCTGTATGACGGCTTGT']" ...
), class = "factor")), row.names = c(NA, 6L), class = "data.frame")
Итак, как я могу выполнить это преобразование, не передаваязаголовок «Intron.ID» и «Sequence.s.»к векторам и просто держите последовательности внутри вектора (в правильном порядке и назначении), не включая Intron.ID?
Любая помощь будет очень цениться!
Спасибо всемзаранее.
Сердечно,
Фернанда Коста