У меня есть следующий код для заполнения кадра данных результатом функции row-wise. Результат функции внутри цикла является случайной основой (часть моделирования):Заполнить кадр данных результатом функции
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)
Я хотел бы избежать цикла, и я думаю, там должна быть способом сделать это в менее линии и более эффективный способ в Р. У вас есть идея, как это сделать?
В идеале, я хотел бы передать все аргументы уже во время создания кадра выходных данных.
@akrun Я думаю, что мы пытаемся цикл столько раз, сколько строк. – zx8754
Я знаю, я использую его только для итерации через фрейм данных. Я уверен, есть лучший способ для этого (может быть, «длина»), мои знания R слишком ограничены. Основной проблемой, которую я хочу избежать, является цикл for. – mondano
Просьба пояснить, что происходит внутри цикла. – zx8754