У меня проблемы с пониманием того, как использовать lapply в R. В настоящее время у меня есть данные в spotfire, называемые dt. Я пытаюсь создать список в r, где ключом является значение строки.
В настоящее время я использую цикл for, чтобы сделать это, но я знаю, что для этого случая будет лучше lapply. Я знаюэто lapply должно ускорить процесс, но у меня много проблем с пониманием того, как использовать lapply с функциями. Мой текущий код выглядит следующим образом:
for(row in 1:nrow(dt)){
index[[toString(row)]]<-unlist(c(unlist(value)[row],' ',0,' ',Inf))
}
Может кто-нибудь помочь мне написать эту версию и объяснить, как и как ее программировать. Даже если это не сильно улучшит скорость кода, так как у меня есть несколько больших циклов for, которые я хочу преобразовать, но я хочу начать с чего-то более простого. Спасибо
Для таблицы данных вы можете использовать это
DT = data.table(
ID = c("b","b","b","a","a","c"),
a = 1:6,
b = 7:12,
c = 13:18
)
Поскольку я новичок в R, я напишу список, который я хочу, в качестве словаря Python. В конце я хочу, чтобы некоторые из них выглядели так:
{
"1":[1,' ',0,' ',Inf],
"2":[2,' ',0,' ',Inf],
...,
"6":[3,4,' ',0,'',Inf]
}
Значения внутри массивов не имеют большого значения, просто они должны быть массивами.