Мне нужно посчитать, сколько раз этот цикл выполняется, и я могу сделать это для одного экземпляра. Тем не менее, я хочу, чтобы это происходило несколько раз и записывала все циклы в векторе.
Следующий код подсчитывает количество выполнений цикла while (может варьироваться в зависимости от результата функции sample()
):
x= 0
count = 0
while (x < 10) {
y = sample(c(1,2), 1, c(.50,.50), replace = T)
x = x+y
count = count+1
}
count
Это отлично работает. Дает мне одно число, которое может меняться случайным образом, но для обсуждения я предполагаю, что это 8
.
Однако, когда я помещаю это в цикл for:
x= 0
count = 0
counts = c()
for (i in 1:5) {
while (x < 10) {
y = sample(c(1,2), 1, c(.50,.50), replace = T)
x = x+y
count = count+1
}
counts[i] = count
}
counts
Это дает мне то же значение для подсчета, что и код без цикла, но повторяется 5 раз. Если предположить, что счет будет 8
, этот код вернет 8 8 8 8 8
То, что я надеюсь вернуть из цикла for, это 5 отдельных отсчетов, так что вывод выглядит примерно так (эти числа являются произвольными из-за случайной выборки) 8 5 9 7 4
Пожалуйста, помогите мне понять, почему это происходит, потому что у меня были подобные проблемы раньше.