У меня есть следующий код для заполнения фрейма данных результатом функции по строкам. Результат функции внутри цикла является случайным (часть симуляции):
input <- as.data.frame(matrix(seq(1:20),4,5), row.names = c("A", "B", "C", "D"))
output <- data.frame()
j = 1
for (rowname in rownames(input)) {
output <- rbind(output,ifelse(runif(5)+2>=rep(1/input[j,1],5),round(rgamma(5,shape=0.8, rate=2),0),rep(0,5)))
j = j+1
}
rownames(output) <- rownames(input)
Я хотел бы избежать цикла for, и я думаю, должен быть способ сделать это с меньшим количеством строк и более эффективным способом в R. У вас есть идея, как это сделать?
В идеале хотелось бы передать все аргументы уже во время создания фрейма выходных данных.