Pergunta

Tenho esses dados em um CSV:

Date  ALICORC1 ALT   ATACOBC1 AUSTRAC1 CONTINC1 BVN   DNT
40886 5.8      0.1   0.9      0.28     5.45     38.2  1.11
40889 5.8      0.1   0.88     0.28     5.37     37.7  1.04
40890 5.8      0.09  0.87     0.27     5.33     37.4  0.99
40891 5.7      0.1   0.85     0.27     5.3      37.5  0.91

Esses são os preços de fechamento das ações do mercado de ações peruano e desejo convertê-los em xts para encontrar o portfólio ideal e outras coisas, mas não consigo encontrar a maneira de converter esse CSV em xts.Eu verifiquei a resposta para muitas das perguntas aqui, mas nenhuma delas funcionou.

Alguns dos erros que tenho são:

  • O índice tem XXXX entradas incorretas nas linhas de dados
  • Dados ambíguos.

Alguém pode me ajudar?

Foi útil?

Solução

csv significa vírgula -separated-values, então o layout mostrado na questão não é csv. Assumiremos que os dados realmente estão no formato csv e não no formato mostrado na pergunta. Se realmente estiver na forma mostrada na pergunta, em vez de csv, omita o argumento sep="," em read.zoo abaixo. Além disso, se houver outros desvios, você pode precisar modificar mais os argumentos. Veja ?read.zoo e a vinheta Lendo dados no zoológico no pacote do zoológico .

Aqui, usamos read.zoo no pacote zoo para ler os dados como um objeto zoo, z, e então o convertemos em xts, x.

Veja R News 4/1 que trata especificamente de datas manipulação de datas do Excel, observando que podemos precisar modificar o código abaixo ligeiramente se a versão Mac do Excel estiver sendo usada (conforme descrito lá na referência).

library(xts) # this also loads zoo which has read.zoo

toDate <- function(x) as.Date(x, origin = "1899-12-30")
z <- read.zoo("myfile.csv", header = TRUE, sep = ",", FUN = toDate)
x <- as.xts(z)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top