Вопрос

Вот код:

общий

Я хотел бы проверить, больше ли сегодняшнее закрытие, чем закрытие 10 дней назад, и нужно ли увеличить переменную win.Я также пробовал следующее:

общий

Кажется, оба должны работать, поэтому у меня две проблемы.Сначала заставить его работать, но также важно понять, почему они не работают.Оба флага «аргумент имеет нулевую длину».Я догадываюсь, что виноват тикер [j] или тикер [i-10].В основном потому, что когда я заменяю их жестко запрограммированным значением, они работают.

Это было полезно?

Решение

Проблема в том, что тикер [i] не возвращает числовой объект, поэтому вы не можете сравнивать или вычитать их.Попробуйте это для удовольствия:

общий

Так что просто заключите их в as.numeric, и вы получите то, что вам нужно.

общий

Другие советы

Это не имеет ничего общего с циклами for.Это потому, что xts / zoo выравниваются по своему индексу перед выполнением каких-либо операций.ticker[i] > ticker[j] пуст, потому что индексы разные.

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

общий

Фигурные скобки - ваш друг, друг мой.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top