Size: a a a

R (язык программирования)

2020 December 06

R

R in R (язык программирования)
он тут вроде везде целиком, нет?
источник

AS

Alexander Semenov in R (язык программирования)
Нет. Он сравнивает x (число из колонки) со средним по этой колонке и превращает результат в фактор.
источник

AS

Alexander Semenov in R (язык программирования)
И то, что х -- это одновременно и вектор и элемент в этом векторе вызывает у меня когнитивный диссонанс.
источник

AS

Alexander Semenov in R (язык программирования)
Я функции и lapply раз в квартал пишу, да и то через Google, поэтому этот момент меня ставит в тупик.
источник

R

R in R (язык программирования)
тут x - полный вектор, mean(x) - вектор длины 1. Чтобы одно сравнить с другим, вектор длиной один повторяется length(x) раз, в итоге получается логический вектор длины length(x). ifelse() в результате возвращает вектор из единиц и нулей длины length(x) (по-моему по дороге он еще и единицы и нули так же повторяет)
источник

R

R in R (язык программирования)
вроде так
источник

AS

Alexander Semenov in R (язык программирования)
По этой логике не ясно, почему это корректное решение для задачи https://stepik.org/lesson/31107/step/15?unit=11518
источник

AS

Alexander Semenov in R (язык программирования)
Там просят сделать фактор, если элемент больше среднего значения по колонке.
источник

R

R in R (язык программирования)
почему, там же, получается, сравнивается вектор, например, с(1,2,3) c c(2,2,2), получается вектор, который показывает, больше элемент или меньше средней
источник

AS

Alexander Semenov in R (язык программирования)
Ну как же?
источник

AS

Alexander Semenov in R (язык программирования)
И вот в коде х выступает одновременно как наблюдение, так и вся переменная. Код засчитан как корректный.
источник

R

R in R (язык программирования)
мм, я не очень понимаю, в чем проблема, но x там везде вся переменная, честно!
источник

ИП

Иван Поздняков... in R (язык программирования)
Andrey
Все NSE в data.table сводится к упомянутым .., () и стандартной функции get(). В особо запущенных случаях можно использовать стандартные eval() и parse(), как описано в https://stackoverflow.com/questions/12391950/select-assign-to-data-table-when-variable-names-are-stored-in-a-character-vect/12392269#12392269
Есть еще вот такое обсуждение https://stackoverflow.com/questions/24833247/how-can-one-work-fully-generically-in-data-table-in-r-with-column-names-in-varia, полезное прежде всего коллекцией ссылок в начале
Спасибо, очень полезно!
источник

AS

Alexander Semenov in R (язык программирования)
x > mean(x). Слева наблюдение, справа среднее по переменной.
источник

AS

Alexander Semenov in R (язык программирования)
При решении через цикл это было бы x[i] > mean(x)
источник

R

R in R (язык программирования)
Переслано от R
x = c(1:10)
x > 5
x > rep(5, length(x))
источник

R

R in R (язык программирования)
Переслано от Rextester
Result:
 [1] FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
[1] FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE


Tip:
Wrap your code in triple backticks to display it in monospace.
источник

ИП

Иван Поздняков... in R (язык программирования)
Alexander Semenov
В частности не понимаю, как в функции fct х одновременно используется как 1 элемент вектора и как весь вектор целиком (при сравнении с mean(x))?
Это можно представить как частный случай ресайклинга: операция на векторах разной длины приводит к повторению меньшего вектора нужное количество раз
источник

R

R in R (язык программирования)
Иван Поздняков
Это можно представить как частный случай ресайклинга: операция на векторах разной длины приводит к повторению меньшего вектора нужное количество раз
ох, вот как оно называется, судорожно пытался вспомнить несколько минут
источник

ИП

Иван Поздняков... in R (язык программирования)
источник