Как извлечь компоненты из объекта класса «spec»?

#r

#r

Вопрос:

Я пытаюсь построить таблицу спектров мощности и сталкиваюсь с этой проблемой:

Определите таблицу:

 V <- tibble(month=double(),day=double(),hour=double(),minutes=double(),
               frequency=double(),power=double(),period=double())
 

вычислить спектр:

  S <- spec.pgram(Spec2d$Inst,spans=windowSize,log="yes") 
 

который создает объект класса «spec»

Мне нужно извлечь данные из S и поместить их в V. Когда я пытаюсь:

  V$frequency <- S$freq         
 

Я получаю это сообщение об ошибке:

 Error: Assigned data `S$freq` must be compatible with existing data.
x Existing data has 0 rows.
x Assigned data has 48 rows.
ℹ Only vectors of size 1 are recycled.
 

для меня это не имеет смысла. Я пытался принудительно S$freq использовать разные типы объектов, но ничего не работает.

S$freq является ли вектор длиной 48, как в сообщении об ошибке

Что происходит? Есть ли обходной путь?

Комментарии:

1. Я получаю несколько ошибок при запуске кода: 1) could not find function tibble 2) object 'Spec2d' not found

Ответ №1:

Не инициализируйте сначала dataframe / tibble. Попробуйте :

 S <- spec.pgram(Spec2d$Inst,spans=windowSize,log="yes")
V <- data.frame(frequency = S$freq)
 

Комментарии:

1. Спасибо! Это решает мою проблему. Хотелось бы, чтобы сообщение об ошибке было более четким