У меня есть тестовый вектор, на который я выбираю вес для каждого, прежде чем вычислять средневзвешенное значение.R - запрос условия ifelse
У меня есть вектор х = x
, который: 0.97109891 1.02659028 0.05549137
В моей функции, я выполняю это, который назначает весовые коэффициенты для нового вектора:
newVec <- ifelse(x < 1, 1,
ifelse(((1 <= x) && (x < 2)), 0.5, 0))
newVec возвращается как: 1 0 1
.. .
что означает, что второе условие выходит, как False
и возвращение 0
, когда он должен быть True
и возвращение 1
. (новый вектор должен быть: 1, 0.5, 1
кажется 1 <= 1.0265902
)
Я тестировал его вне программы, и результат возвращается как истинный ... Поэтому, если я не наблюдаю за чем-то, я не могу понять, почему это не так, t работа в функции ...
Любая помощь была бы замечательной. Заранее спасибо.
ifelse - векторизация. нет смысла использовать его с &&. вы должны получить предупреждение ix lengt x больше 1 и используется только первый элемент x. & в отличие от && векторизован – lebatsnok