LINUX.ORG.RU

Как посмотреть работу программы на R?

 


0

1

Добрый день.

AirPassengers[-1][AirPassengers[-1] > AirPassengers[-144]] 

А можно подобный код как-то дебагером посмотреть? Я потыкался, ничего не вышло. Хочу понять как оно работает в каждый момент времени интерпритации


Возможно я не понял что ты хочешь, но код по сути сравнивает два ряда чисел по каждому элементу ряда и выводит только те элементы которые больше условия. Быстренько накидал с телефона в онлайн редакторе, так должно быть понятно, что происходит:

d <- (AirPassengers)
t<-d[-1]
f <- d[-144]
t
f
t[t > f]

Сравни глазами ряды t и f и сразу увидишь.

einhander ★★★★★
()
Последнее исправление: einhander (всего исправлений: 1)

AirPassengers представляет собой ts-объект. Т.е. это матрица (именно matrix), в которой содержится информация о временных периодах. Соответственно механизм выборки здесь не работает в полной мере. Я советую в таком случае чекать тип данных через class(). В исходном виде class(AirPassengers) представляет собой ts. Как только делается выборка без первого элемента – сразу тип данных становится обычным вектором с типом numeric. Выборка работает внутри ts тогда, когда известно какое-то конкретное значение. Например AirPassengers[AirPassengers > 400] выдаст значения временного ряда, которые больше 400. Чтобы делать сложные выборки, либо как [user]einhander[/user] предлагает, либо переводить данные в формат as.vector или as.matrix и тогда уже делать выборки типа AirPassengers[AirPassengers > mean(AirPassengers)]

bookman900 ★★★★★
()