Пропущенные строки при просмотре веб-страниц в R в нескольких строках - при очистке по индексу NSE Индии - PullRequest
0 голосов
/ 08 сентября 2018

1-й файл, указанный в URL-адресе с именем «EQUITY_L.csv», указанном в сноске ниже

Я пытаюсь получить доступ к URL-адресу "https://in.finance.yahoo.com/quote/3MINDIA.NS/history?p=3MINDIA.NS", используя символьную переменную, указанную в файле в сноске ниже на веб-сайте NSE. Я могу получить данные из нескольких файлов по коду, но только сначала 100 таблиц выбираются в таблице данных или в каждом URL-адресе всего 250. Я не могу решить проблему. Я также посмотрел таблицы, доступные в каждом URL-адресе, и есть только одна таблица. Как извлечь все 250 строк в каждом URL? Я посмотрел на функцию Quantmod, но она имеет специфические индексы США. Не могли бы вы помочь с этим ..

read.csv(file="C:/Users/Documents/EQUITY_L.csv", header=TRUE, sep=",")

MyData$SYMBOL
Symbol<-MyData$SYMBOL
tbls_ls<-list()
for(i in 1:12) {
webpage<-paste0("https://in.finance.yahoo.com/quote/",Symbol[i],".NS","/history?p=",Symbol[i],".NS")
Webpage<-read_html(webpage)
tbls_ls[i] <- Webpage %>%
        html_nodes("table") %>%
        .[1] %>%
        html_table(fill = TRUE)}

1 Ответ

0 голосов
/ 08 сентября 2018

Хммм ... кажется, что у вас есть несколько проблем здесь, и недавние изменения в посте, кажется, удалили некоторые из них. Проблема без имен строк будет возникать, если вы используете пакеты, которые приводят ваш data.frame к таблице, в которой нет имен строк.

Я думаю, что если вы просто используете quantmod, это позаботится о многих ваших проблемах здесь. Он вернет объект xts, в котором имена строк хранятся как вектор дат. Настройки по умолчанию возвращают 2942 наблюдения или ежедневные значения от 2007-01-02, если рассматриваемая безопасность существовала так долго и не содержит пропущенных значений.

Изменение вашего кода выше:

MyData <- read.csv(file="C:/Users/Documents/EQUITY_L.csv", header=TRUE, sep=",")
Symbol<-MyData$SYMBOL

А затем добавив это

library(quantmod)
getSymbols(Symbol)

Вот и все!

...