Как использовать условные выражения в R? - PullRequest
0 голосов
/ 12 ноября 2018

sortinoIndex - это вектор, содержащий NA и числовые числа. Я хочу создать цикл для извлечения только числовых чисел и сохранения их в sortino1. Как это сделать?Я сделал это, но не работает, вы можете мне помочь?

    sortino1<-numeric()
for (i in 1:252) {
  if(sortinoIndex[i]!=NA){
    sortino1[i]<-sortinoIndex[i]
  }
}

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Мы можем использовать complete.cases

sortinoIndex[complete.cases(sortinoIndex)]
0 голосов
/ 12 ноября 2018

В R мы обычно не используем цикл for, чтобы сделать что-то подобное, потому что он очень медленный по сравнению с реализацией того же цикла в C ++.

Вместо этого мы будем использоватьвекторизованная операция:

Создать некоторые данные:

set.seed(10)
sortinoIndex <- sample(c(NA,1:10),25, replace = TRUE)

Удалить NA значения:

sortino1 <- sortinoIndex[!is.na(sortinoIndex)]
print(sortino1)

[1] 5 3 4 7 2 3 2 6 4 7 6 1 6 3 4 2 4 9 9 6 8 3 4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...