Я не могу заставить qqnorm работать внутри цикла FOR - PullRequest
0 голосов
/ 30 сентября 2019

Я пытаюсь построить qq-графики по ценам десяти акций.

Я хотел построить эти графики, используя цикл FOR, но я получаю сообщения об ошибках - как я могу исправить код?

Я скачал биржевые цены акций из Yahoo Finance. Я только извлек ежедневные скорректированные цены, а затем объединил их в массив данных с десятью столбцами. Я не включил даты в фрейм данных.

коды выглядят следующим образом:

par(mfcol=c(2,5),mar=c(2,2,2,2))
for(varname in names(stocks)) {
  qqnorm(stocks[varname])
}

Я получаю сообщение об ошибке «Ошибка: необходимо использовать вектор в [, а не объектМатрица классов. "

Заранее благодарю за помощь.

1 Ответ

2 голосов
/ 30 сентября 2019

qqnorm принимает векторы на входе:

qqnorm (y, ...)

y Вторая или единственная выборка данных.

Вы можете получить y из своего фрейма данных следующим образом:

df[[stock_name]]
df$stock_name

или, если вы имеете дело с матрицей:

mat[, col_number]
mat[, stock_name]

Вотпростой пример:

s <- matrix(rnorm(1000), 100, 10)
colnames(s) <- letters[1:10]


for (i in colnames(s)){
  qqnorm(s[,i])
}
...