Я не могу найти правильный способ индексировать среднее значение предыдущего вектора - PullRequest
0 голосов
/ 04 февраля 2019

В настоящее время я работаю над проблемой домашней работы, которая требует, чтобы я индексировал среднее значение предыдущего вектора в новый вектор.При выборе среднего значения предыдущего вектора инструктор хочет, чтобы мы выбирали только те элементы, которые равны + - 2 от указанного среднего.Пожалуйста, смотрите вопрос ниже.

В rnorm.vector выберите только элементы со значениями в пределах ± 2 стандартных отклонения от среднего.Присвойте этот новый вектор переменной rnorm.select.vector и отобразите вектор.

Я пытался использовать [] и другие критерии индексации

// Normal distribution of 30 numbers with a mean of 25 and Standard Deviation of 2.5

rnorm.vector <- rnorm(30, mean = 25, sd = 2.5)

// logical vector 

rnorm.logical.vector <- (rnorm.vector >= 25)
rnorm.logical.vector

// +- 2.5 of standard Deviation

rnorm.select.vector <- 

Не могу получить правильный результатбез ошибки

1 Ответ

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

Поскольку я очень люблю кошек, я попытаюсь привести небольшой пример того, как использовать логический вектор для выбора нужных элементов из существующего вектора (это могут быть имена кошек, случайные числа и т. Д.)

# i got a list of my cats name
my_cats_names <- c("Boby", "Tara", "Petzi", "Felix", "Mauzi", "Schnurrli")
# and a coresponding list with my cats weight
my_cats_weight <- c(8, 4, 7, 5, 4, 5)
# so Boby has 8kg, Tara 7 and so on

# During last night someone has stolen my ham, and im suspecting one of my cats to be the thief. 
# Since it was a big ham im pretty sure it needs a cat of at least 6kg to steal and eat it,
# so i want to select all my cats that are 6kg or more from my list. 

which_one_is_over_6_kg_logical_vector <- my_cats_weight >= 6
which_one_is_over_6_kg_logical_vector
# > which_one_is_over_6_kg_logical_vector
# [1]  TRUE FALSE  TRUE FALSE FALSE FALSE
# This result tells me, that the first one in the list is over 6kg, the second one not the 3rd one is over and so on

# Now i can use the logical vector to select only those elements from my list, that fullfill my constraint (beeing over 6kg)
my_cats_over_6kg <- my_cats_names[which_one_is_over_6_kg_logical_vector]
my_cats_over_6kg
# > my_cats_over_6kg
# [1] "Boby"  "Petzi"
# im pretty sure it was Boby or Petzi

# So by creating a logical vector we can select items from an existing vector if they fullfill our constraint

Вместо вектора каталогов вы получили вектор чисел, для которого вы можете рассчитать среднее значение и стандартное отклонение.Вместо того чтобы выбирать кошек весом более 6 кг, вам нужно число ниже среднего (ваш_вектор) - 2 * sd (ваш_вектор) и число выше среднего (ваш_вектор) + 2 * сд (ваш_вектор).

Я надеюсь, что все кошки помогутнемного и не вызывает дополнительной путаницы:)

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