Попытка написать для l oop в R, который добавляет значения к вектору, если условие выполнено - PullRequest
0 голосов
/ 03 марта 2020

Я пытался определить вектор под названием IQR, который возвращает значения в пределах внутреннего квартиля другого вектора (не в числовом порядке).

Я пробовал многочисленные итерации

IQR <- function(y) for (i in seq_along(y)) { if ((i > quantile(y, 0.25)) && (i < quantile(y, 0.75))) {iqr <- c(i)} else {break}}

и

IQR <- vector('double', 0) for (i in seq_along(Vect)) {if ((i > quantile(y, 0.25)) && (i < quantile(y, 0.75))) {iqr <- vector(i)} else {break}}

, где vect - это отдельный вектор, содержащий значения для тестирования, созданные из df

1 Ответ

0 голосов
/ 03 марта 2020

Используйте оператор извлечения [], чтобы выбрать элементы вектора, которые удовлетворяют условию

Примерно так:

IQR <- function(y)  y[ y>quantile(y,0.25) & y<quantile(y,0.75) ]  
# read as 'y, where y is greater than the 25th centile of y and y is less than the 75th centile of y'

IQR(1:10)
[1] 4 5 6 7

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