У меня есть следующий код (заметьте, не обращайте на меня внимания, это не мой код, я исправляю проблему, обнаруженную при модификации этого кода.)
<!--begin.rcode echo=FALSE, results='asis', message=FALSE
overLevel <- 0
step <- 10
for(i in seq(1, nrow(exposures), by=step)) {
tryCatch({
tmp <- exposures[i:(i+step-1),]
cols <- ifelse( (as.numeric(gsub(",","",gsub(" ","",tmp$ARExcess)))) > overLevel, 'tomato',
ifelse(as.numeric(gsub(",","",gsub(" ","",tmp$MTMExcess))) > overLevel, 'lightyellow',
ifelse(as.numeric(gsub(",","",gsub(" ","",tmp$VolumeExcess))) > overLevel, 'azure3', 'white')))
cat(paste0('<h4><u>Exposures</u></h4>'))
cat(htmlTable(as.matrix(tmp), col.rgroup = cols, rnames = FALSE))
},error = function(e) {print(e)})
}
end.rcode-->
Проблема, с которой я сталкиваюсь, состоит в том, что он берет по 10 элементов за раз (строка for в коде) из набора данных эксцессов и помещает их в набор данных tmp по 10 записей за раз. При наличии менее 10 записей он удаляется и не добавляет дополнительные элементы в файл RHTML, что приводит к неполному отчету или отсутствию отчета в зависимости от записей.
Как бы я мог завершить все записи, независимо от того, есть ли 10 или нет. Для удобства чтения в электронной почте (бизнес-правила) он должен быть размером 10 патронов, поэтому я согласен, что его размер равен 10, а на последнем - короче, но я не знаю, как выполнить последнюю часть.
Кто-нибудь знает, как я могу это исправить или протянуть руку помощи?