#r
#r
Вопрос:
У меня есть несколько кадров данных, и, например, 8-й dframe-это dfQ[[8]]
:
c(16, 14, 15, 14, 14, 12, 13, 14, 13, 12, 13, 12, 12, 13, 13, 13, 13, 13, 14, 14, 16, 13, 12, 13, 12, 13, 12, 13, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 14, 17, 17, 17, 18, 11, 12, 14, 13, 13, 12, 11, 11, 11, 9, 9, 9, 11, 12, 12, 9, 13, 14, 14, 16, 12, 15, 14, 14, 14, 14, 11, 13, 13, 14, 13, 13, 12, 11, 11, 11, 9, 11, 11, 10, 9, 8, 8, 8, 8, 6, 7, 8, 9, 9, 11, 12, 9, 12, 11, 11, 9, 12, 12, 12, 13, 9, 14, 9, 12, 13, 9, 12, 12, 13, 13, 9, 13, 14, 14, 13, 12, 13, 12, 12, 12, 11, 12, 9, 11, 8, 9, 9, 8, 8, 1)
Его длина составляет 134 метра. Я использую movavg
into library(pracma)
для фильтрации этих данных (эта функция позволяет мне выбирать номер и тип фильтра).
Как построить отфильтрованные данные элементов в выбранном диапазоне (например, 8-й dfQ[[8]]) Я выбрал диапазон 124:134) для кадров данных?
Я пытался использовать этот код, но он не работает:
par(las = 1) plot(0, 0, xlim = c(0, 50), ylim = c(0,20),xlab = 'Steps', ylab = '',type = 'n') lines(movavg(dfQ[[8]][(length(dfQ[[8]])-30):length(dfQ[[8]])],10, type ="s"), type= "o",pch=16,lwd=0.4, lty=3, xlab = 'Steps', ylab = '',cex = 0.6, col = "darkblue") abline(h=c(10), lwd=2, lty=1, col="red") mtext("MAX D A.U.", col = "black", adj=-0.05, padj=-0.1, cex=0.8) grid(nx = NULL, ny = NULL,lty = 2, col = "gray", lwd = 1)
Я получаю ошибку:
Error in movavg(dfL_F[[assemble1[i]]][(length(dfL_F[[assemble1[i]]]) - : Window length 'n' must be greater then length of time series.
Комментарии:
1. Ваш код не может работать с предоставленными вами образцами данных. Это действительно полезно, когда нам не нужно анализировать ваш код, чтобы адаптироваться к образцам данных, которые вы нам предоставляете.
2. @r2evans Я редактирую свой код
3. «это не работает» … что случилось? Если есть ошибка или предупреждение, пожалуйста, укажите буквальный текст (в блоке кода). Я не
pracma
установил, но я должен задаться вопросом …dfQ[[8]][(length(dfQ[[8]])-30)]:length(dfQ[[8]])
кажется неправильным,:
кажется более подходящим между30)
иlength
, но у вас]
там есть. Интересно, должно ли это быть вместо этогоdfQ[[8]][(length(dfQ[[8]])-30):length(dfQ[[8]])]
?4. @r2evans Извините, Вы правы, я забыл ]… Но я не могу построить скользящую среднюю
5. Ладно, ладно … Я все еще не
pracma
установил, я надеюсь, что кто-нибудь, кто более знаком с этим, придет и поможет. Если]
он был в неправильном месте, вам действительно следует обновить код как таковой.
Ответ №1:
Спасибо за исправление моего кода! Эта проблема зависит от правильного выбора методов для моих конкретных данных:
par(las = 1) plot(0, 0, xlim = c(0, 50), ylim = c(0,0.05),xlab = 'Steps', ylab = '',type = 'n') lines(movavg(dfQ[[8]][(length(dfQ[[8]])-30):length(dfQ[[8]])],10,type = "r"),type= "o",pch=16,lwd=0.4, lty=3, xlab = 'Число шагов', ylab = '',cex = 0.6, col = "darkblue") abline(h=c(0.004500), lwd=2, lty=1, col="red") mtext("MAX D A.U.", col = "black", adj=-0.05, padj=-0.1, cex=0.8) grid(nx = NULL, ny = NULL,lty = 2, col = "gray", lwd = 1