Нужна помощь в объединении имен столбцов - PullRequest
0 голосов
/ 28 мая 2018

Я генерирую 5 разных прогнозов и добавляю эти прогнозы к существующему фрейму данных.Мой код:

For j in i{
…
actual.predicted <- data.frame(test_data, predicted)
}

Я пытаюсь объединить слова вместе, чтобы создать новые имена столбцов в цикле.В частности, у меня есть столбец с именем «прогнозируемый», и я генерирую прогнозы на каждой итерации цикла.Итак, на первой итерации я хочу, чтобы имя нового столбца было «предсказано.1», а для второй итерации имя нового столбца должно быть «предсказано.2» и т. Д.

Любые мыслис благодарностью.

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Один из вариантов - установить имена после назначения новых столбцов

actual.predicted <- data.frame(orig_col = sample(10))
for (j in 1:5){
  new_col = sample(10)
  actual.predicted <- cbind(actual.predicted, new_col)
  names(actual.predicted)[length(actual.predicted)] <- paste0('predicted.',j)
}

actual.predicted
#    orig_col predicted.1 predicted.2 predicted.3 predicted.4 predicted.5
# 1         1           4           4           9           1           5
# 2        10           2           3           7           5           9
# 3         8           6           5           4           2           3
# 4         5           9           9          10           7           7
# 5         2           1          10           8           3          10
# 6         9           7           6           6           8           6
# 7         7           8           7           2           4           2
# 8         3           3           1           1           6           8
# 9         6          10           2           3           9           4
# 10        4           5           8           5          10           1
0 голосов
/ 28 мая 2018

Вам может даже не понадобиться использовать цикл здесь, но, если вы это сделаете, один шаблон, который мог бы работать хорошо здесь, это использовать список:

results <- list()
for j in i {
    # do something involving j
    name <- paste0("predicted.", j)
    results[[name]] <- data.frame(test_data, predicted)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...