2017-01-09 5 views
0

Я постараюсь быть максимально ясным. Представьте, что у вас есть цикл, который приводит к вектору. Теперь вы хотите повторно запустить цикл for, и, таким образом, создать в нем еще один вектор с разными значениями. Проблема в том, что вы хотите сохранить первый, получив новый. В принципе, вам понадобится серия векторов, таких как vector1 от первого запуска, vector2 от второго запуска ... Можно ли написать цикл, который позволил бы это? Кроме того, можно ли создать матрицу, которая объединяет эти векторы таким образом, что каждый отдельный вектор хранится в виде строки?создание нескольких векторов с использованием r

Спасибо заранее!

+0

Это все возможно и легко ... видеть, например, 'replicate'?. Если вам нужна дополнительная помощь, чем такой указатель, вам нужно будет прочитать руководство по переполнению стека, например [Как создать минимальный, полный, проверяемый пример] (http://stackoverflow.com/help/mcve) , Также читайте R-specific [Как создать воспроизводимый пример в R] (http://stackoverflow.com/q/5963269/903061), и после этого совета поможет вашему вопросу получить положительное внимание. – Gregor

ответ

0

Не уверен, что я полностью понимаю вопрос, но делает эту работу?

# Function to assign values using a for loop 
forCycle <- function(x){ 
    # create an empty vector 
    v <- c() 
    for(i in 1:10){ 
    v[i] <- i * x 
    } 
    return(v) 
} 

# create an empty data frame with 10 rows 
df <- data.frame(x=rep(0, 10)) 

for(y in 1:3){ 
    df[,y] <- forCycle(y) 
} 

Ваш будет в конечном итоге с dataframe, как это:

x V2 V3 
1 1 2 3 
2 2 4 6 
3 3 6 9 
4 4 8 12 
5 5 10 15 
6 6 12 18 
7 7 14 21 
8 8 16 24 
9 9 18 27 
10 10 20 30 
+0

Почти там, но это мне очень помогло. Мне удалось получить часть, которую мне не хватало из вашего комментария. Большое спасибо! –

+0

Отлично, рад, что это помогло. Пожалуйста, отметьте как ответ ... – PhilC

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