Очевидно, я не могу объяснить это в комментариях, поэтому здесь.
Я загрузил данные, использовал setwd()
, чтобы установить рабочий каталог в каталог с файлом. Затем
my_data <- read.csv("LLOY.L.csv")
Проверка работоспособности:
> str(my_data)
'data.frame': 254 obs. of 7 variables:
$ Date : Factor w/ 254 levels "2019-02-06","2019-02-07",..: 1 2 3 4 5 6 7 8 9 10 ...
$ Open : Factor w/ 220 levels "48.349998","48.580002",..: 90 107 69 73 84 98 99 70 108 110 ...
$ High : Factor w/ 229 levels "49.000000","49.230000",..: 96 92 68 73 82 94 85 111 108 117 ...
$ Low : Factor w/ 235 levels "48.155998","48.230999",..: 110 89 77 82 107 112 97 90 125 122 ...
$ Close : Factor w/ 221 levels "48.580002","48.680000",..: 104 68 61 86 97 92 74 108 105 106 ...
$ Adj.Close: Factor w/ 235 levels "48.580002","48.680000",..: 58 47 44 52 55 53 50 61 59 60 ...
$ Volume : Factor w/ 254 levels "101608167","102059589",..: 12 62 43 26 57 13 253 72 240 23 ...
Да, данные читаются. Тем не менее, цифры читаются как факторы. При более внимательном рассмотрении данных появляется «нулевое» значение, которое, вероятно, равно NA
, поэтому мы читаем данные как
my_data <- read.csv ("LLOY.L.csv", na. strings = "null") </p>
Теперь цифры c значения являются цифрами c. Теперь ваш код из вопроса.
MA<-data.matrix(my_data)
MA2=MA[-247,-8]
tab<-matrix(ncol=2,nrow=253)
ma4<-matrix(ncol=1,nrow=253)
tab[,1]<-MA2[,1]
for (n in 1:248) {
y<-MA2[c(n,n+1,n+2,n+3,n+4,n+5),5]
z<-sum(y)
mav<-z/5
tab[[n,2]]<-mav
n<-n+1
}
Работает без предупреждения или ошибки. Теперь давайте посмотрим, что из-за tab
:
summary(tab)
приводит к
> summary(tab)
V1 V2
Min. : 1 Min. :58.82
1st Qu.: 64 1st Qu.:68.43
Median :127 Median :70.11
Mean :127 Mean :70.09
3rd Qu.:190 3rd Qu.:74.65
Max. :254 Max. :78.77
NA's :11
Как вы можете видеть, во втором столбце только 11 NA
и достаточно чисел для расчета резюме.
> head(tab)
[,1] [,2]
[1,] 1 69.176
[2,] 2 69.004
[3,] 3 69.252
[4,] 4 69.540
[5,] 5 69.670
[6,] 6 70.304