запись в кадр данных от для цикла в R

Я пытаюсь записать от цикла до кадра данных в R, например, цикл как это>

for (i in 1:20) {
print(c(i+i,i*i,i/1))}

и записать каждую строку 3 значений к кадру данных с тремя столбцами, так, чтобы каждое повторение взяло новую строку. Я попытался использовать матрицу, с ncol=3 и заполнился строками, но только получаю последний объект от цикла.

Спасибо.

16
задан Joshua Ulrich 17 October 2010 в 01:45
поделиться

2 ответа

Вы можете использовать rbind:

d <- data.frame()
for (i in 1:20) {d <- rbind(d,c(i+i, i*i, i/1))}
23
ответ дан 30 November 2019 в 16:00
поделиться

Циклы For имеют побочные эффекты, поэтому обычный способ Для этого нужно создать пустой фрейм данных перед циклом и затем добавлять к нему на каждой итерации. Вы можете создать экземпляр нужного размера, а затем присвоить свои значения строке i на каждой итерации или добавить к ней и переназначить все это с помощью rbind () .

Первый подход будет иметь лучшую производительность для больших наборов данных.

6
ответ дан 30 November 2019 в 16:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: