переменную?
while (i < 100){
data[i,]=messages[[1]]$messages[[i]]$id
i=i+1
}
так не выходит
потому что непонятно, куда писать, колонку надо указать
почему у меня создан пустой дата фрейм я указываю в цикле номер строки i
а счетчик где-то объявляется? вот так работает вроде data = data.frame(id = rep(0, 5)) # data = data.frame() i <- 1 while (i < 5) { data[i, 'id'] <- i i <- i + 1 }
уж если здесь речь про питон и R пошла, то такое — совсем не по R. Векторизация, data.table + работа по ссылкам. А это классический подход, как учат на питоне. Питоне не в части DS, а вообще, потому что он пробрался и в школы и в универы. Цикл с присвоением — последнее, что можно делать. Это не C. Накладные расходы — на 4-6 порядков выше оптимального кода. Но это уже культура разработки, которую на быстрокурсах не прививают. Начинать правильно мыслить лучше с самого начала. Потом будет сложно переделать. И код и себя. Изначальный вопрос уже неправильный.
Да я в курсе, что не по Р Не знаю чем заменить, если честно Map и Lapply знаю, но не понимаю как их применить в разрезе индексов Знаю что решение на поверхности и оно простое, но не доходит Может от жары(
Влад, напиши пример воспроизводимого кода, чтобы была задача, а не абстракт. Там делов на одну строчку, поправим
data = data.frame(message_id=rep(0,100)) i=1 while (i < 100){ data[i,'message_id']=messages[[1]]$messages[[i]]$id i=i+1 } Пример что получаю на скрине 1 пример того из чего достаю на скрине 2
скинь результат dput(messages) на небольшой выборке
dt <- data.table::rbindlist(messages[[1]]$messages) dt$id ? Одна строка, как и говорил
круть))) спасибо большое)
я хотел бы сказать "зато я ничего не подключил", но, конечно, согласен)
Наверно, по исходному вопросу надо будет так dt[1:1000, id]
Обсуждают сегодня