Сравнение значений вектора с первым возвращает значения NA - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь сравнить элементы i + 1 вектора с первым элементом самого вектора.

У меня есть следующий кадр данных:

snsr_dt snsr_ts value
2009-05-25  2009-05-25 08:00    0
2012-07-08  2012-07-08 08:00    96
2014-01-27  2014-01-27 08:00    0
2015-02-15  2015-02-15 08:00    298
2015-10-10  2015-10-10 08:00    260
2017-04-21  2017-04-21 08:00    402

Я пробовалследующий подход:

test<-c()
for (i in nrow(mydataframe)){
    test[i]=dataframe[i,3]-dataframe[1,3]
}

Я получаю следующие результаты:

[1]  NA  NA  NA  NA  NA 402

Что я делаю не так?

1 Ответ

0 голосов
/ 03 апреля 2019

Нам не нужен цикл для этого, так как операция векторизована

test <- mydataframe[,3] - mydataframe[,3][1]

Что касается проблемы с циклом, то она проходит только через одну строку, то есть последнюю строку (nrow) набора данных. Вместо этого это может быть seq_len(nrow(mydataframe))

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