Я новичок в R, и у меня проблема с разбиением очень большого фрейма данных на вложенный список. Я пытался найти помощь в интернете, но безуспешно.
У меня есть упрощенный пример организации моих данных:
Заголовки:
1 "station" (number)
2. "date.str" (date string)
3. "member"
4. "forecast time"
5. "data"
Я не уверен, что мой пример данных будет отображаться правильно, но если это так, он выглядит так:
1. station date.str member forecast.time data1
2. 6019 20110805 mbr000 06 77
3. 6031 20110805 mbr000 06 28
4. 6071 20110805 mbr000 06 45
5. 6019 20110805 mbr001 12 22
6. 6019 20110806 mbr024 18 66
Я хочу разбить большой фрейм данных на вложенный список после "station", "member", "date.str" и "forecast.time". Так что mylist [[c (s, m, d, t)]] содержит фрейм данных с данными для станции "s" и члена "m" для date.str "d" и для прогнозируемого времени "t", сохраняющего значения из с, м, д и т.
Мой код:
data.st <- list()
data.st.member <- list()
data.st.member.dato <- list()
data.st. <- split(mydata, mydata$station)
data.st.member <- lapply(data.st, FUN = fsplit.member)
(я создал функцию для разделения после "члена")
#Loop over station number:
for (s in 1:S){
#Loop over members:
for (m in 1:length(members){
tmp <- split( data.st.member[[s]][[m]], data.st.member[[s]][[m]]$dato.str )
#Loop over number of different "date.str"s
for (t in 1:length(no.date.str) ){
data.st.member.dato[[s]][[m]][[t]] <- tmp}
} #end m loop
} #end s loop
Я также хотел бы разделить в соответствии с прогнозом времени: forec.time, но я не получил это далеко.
Я перепробовал несколько различных конфигураций в циклах, поэтому у меня нет согласованного сообщения об ошибке. Я не могу понять, что я делаю или неправильно думаю.
Любая помощь очень ценится!
С уважением
Sisse