Почему я получаю первый пустой элемент в векторе? - PullRequest
0 голосов
/ 09 февраля 2019

Я новичок в программировании и в настоящее время борюсь с R. Я должен поместить 6 элементов в новый вектор 'badmonths' после сравнения 12 элементов в векторе 'profitaftertax'.Моя проблема в том, что я получаю 7 элементов, первый из которых пуст.Не могли бы вы объяснить, почему?

mean <- mean(profitaftertax)
badmonths <- c('')

for(i in profitaftertax) {
    if (i < mean) {
      # print(i)
      badmonths <- rbind(badmonths, i)
    }
}
print(as.numeric(badmonths))

Результат:

[1] NA  1337.973 -2595.453 -2040.017  -419.944 -1567.055  461.720 

Ответы [ 2 ]

0 голосов
/ 09 февраля 2019

Другой ответ показывает, почему вы получаете АН.Но вы действительно не должны использовать цикл для этого

badmonths <- profitaftertax[profitaftertax < mean(profitaftertax)]
0 голосов
/ 09 февраля 2019

Это потому, что вы начинаете с инициализации первого элемента как пустой строки, а затем добавляете числа к строке.Попробуйте вместо этого следующее.Это инициализирует badmonths пустым вектором.

mean <- mean(profitaftertax)
badmonths <- numeric()

for (i in profitaftertax) {
    if (i < mean) 
        {#print(i)
    badmonths <- rbind(badmonths,i)}
            }
print(badmonths)

Вы можете понять это дальше, попробовав следующее:

as.numeric('')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...