Я пытаюсь записать от цикла до кадра данных в R, например, цикл как это>
for (i in 1:20) {
print(c(i+i,i*i,i/1))}
и записать каждую строку 3 значений к кадру данных с тремя столбцами, так, чтобы каждое повторение взяло новую строку. Я попытался использовать матрицу, с ncol=3 и заполнился строками, но только получаю последний объект от цикла.
Спасибо.
Вы можете использовать rbind:
d <- data.frame()
for (i in 1:20) {d <- rbind(d,c(i+i, i*i, i/1))}
Циклы For
имеют побочные эффекты, поэтому обычный способ Для этого нужно создать пустой фрейм данных перед циклом и затем добавлять к нему на каждой итерации. Вы можете создать экземпляр нужного размера, а затем присвоить свои значения строке i
на каждой итерации или добавить к ней и переназначить все это с помощью rbind ()
.
Первый подход будет иметь лучшую производительность для больших наборов данных.