Я новичок в науке о данных, и я пытаюсь кое-что сделать, и мне нужно очень много времени, чтобы понять. У меня есть список из 6600 элементов списка, которые содержат вектор символов разной длины (кодоны). У каждого списка есть имя, соответствующее определенному гену.
Список выглядит так:
GenesSplitted_________list[6600]_______List of length 6600
_____YBOR24W__________list[330]________Liost of length 330
и т. Д.
Каждый элемент списка выглядит например,
GeneSplitted[[1]]
[[1]]
[1] "ATG"
[[2]]
[1] "TTG"
[[3]]
[1] "AAT"
[[4]]
[1] "AGT"
[[5]]
[1] "TCA
и т. д.
Задача состоит в том, чтобы применить al oop ion, где я могу преобразовать каждый элемент списка во фреймы данных. Когда я извлекаю один элемент списка и применяю этот код, он, кажется, работает:
a <- as.matrix(GenesSplitted[[1]]) #first element of the list into matrix
a <- as.data.frame(Gene1) #transformed into dataframe
a$transcript <- df[1,1] # assign a new column named
# transcript with the name
# indicated in another data frame
# with the gene name
Когда я делаю этот код, я получаю то, что ожидаю, что в основном выглядит следующим образом:
1 ATG YBR024W
2 TTG YBR024W
3 AAT YBR024W
4 AGT YBR024W
5 TCA YBR024W
6 AGA YBR024W
7 AAA YBR024W
8 TAT YBR024W
и т. Д.
Затем я пытаюсь сделать l oop над списком. Я создал пустой список с 6600 элементами, которые я притворяюсь заполнять во время цикла.
GenesSplittedFrames <- vector(mode = "list", length = 6600) #Empty list for the frames
z<- 1
for (frame in GenesSplitted[[]]){
a <- as.matrix(GenesSplitted[[frame]])
b <- as.data.frame(a)
b$transcript <- df[z,1]
print(b)
z <- z+1
}
Тем не менее, я не могу получить то, что ожидаю, и я делал циклы, подобные этому ранее, в R .
Спасибо миллион.