2016-06-19 4 views
0

Я хочу сделать вектор, используя цикл.Как добавить к вектору, используя цикл while?

Вот мой R код:

vec_teamCodes <- c() 
x <- 0 
while (x < 10) { 
    append(vec_teamCodes,"Hello") 
    x <- x+1 
} 

Но когда я запускаю его, vec_teamCodes() остается NULL.

Почему? Как исправить мой код?

+4

'append' не присваивает значения переменным в качестве аргументов, он создает новую переменную. – Bulat

+4

Я думаю, что вы либо ищете 'rep ('Hello', 10)' или 'paste (rep ('Hello', 10), collapse = '')' – alistaire

+8

В общем, вы захотите избежать расширения векторов в этом мода. Хотя в этом конкретном контексте он работает хорошо, он очень неэффективен и укусит вас в больших проблемах. Подумайте о том, чтобы прочитать ответ [@ JoshuaUlrich] (http://stackoverflow.com/a/22235924/3358272) на вопрос о добавлении к вектору. – r2evans

ответ

3

Попробуйте это:

vec_teamCodes <- c() 
x <- 0 
while (x < 10) { 
    vec_teamCodes <- c(vec_teamCodes,"Hello") 
    # OR 
    # vec_teamCodes <- append(vec_teamCodes,"Hello") 
    x <- x+1 
} 


[1] "Hello" "Hello" "Hello" "Hello" "Hello" "Hello" "Hello" "Hello" "Hello" "Hello" 
+0

Что вы начинаете с 'vec_teamCodes'? – alistaire

+0

@alistaire обновлено, было ясно после просмотра вопроса OP. – 989

+0

@Bulat Можете ли вы рассказать мне, почему вы отредактировали мой ответ для размещения '='? – 989

Смежные вопросы