Programa R para Biologia da Conservação
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Erros na leitura de arquivos | Usuários Mac

3 participantes

Ir para baixo

Erros na leitura de arquivos | Usuários Mac Empty Erros na leitura de arquivos | Usuários Mac

Mensagem por Giovanna Barreto Dom Jan 10, 2016 12:59 pm

professor,

além do mesmo erro mencionado pelo colega Maurício Lamano Ferreira, também estou tendo dificuldades para ler os arquivos em .txt compartilhados durante as aulas. Fiz diversos testes, abrindo o arquivo em .xlsx e salvando em extensões .txt com diferentes atributos (UTF-16, por exemplo) mas nenhuma deu certo. Só consegui ler o arquivo quando retirei manualmente os acentos e salvei novamente. Contudo, fazer isso manualmente em um arquivo de grande extensão não será muito produtivo. Aí busquei outras opções!

Sem retirar os acentos manualmente eu consegui ler o arquivo salvando-o em extensão .csv e usando o header = FALSE ao invés de TRUE. Assim:

> dados<-read.csv("exemplo4.csv", header=F)
> dados
V1
1 UA;Ambiente;Area;Riqueza_de_especies
2 1;primario;120;10
3 2;primario;100;15
4 3;primario;90;12
5 4;primario;150;9
6 5;primario;130;5
7 6;secundario;90;13
8 7;secundario;125;8
9 8;secundario;105;7
10 9;secundario;110;9
11 10;secundario;120;10

Mas a "aparência" da leitura não ficou muito legal, né?

Conclusão: muitas vezes a codificação do Mac não é a mesma do Windowns. Eu perdi um bucado de tempo ontem pesquisando isso, o que também não é muito produtivo. Portanto deixo aqui o meu pedido: durante o curso é importante que também seja apresentada as variâncias dos comandos para os usuários do Mac para que não sejamos prejudicados.

Abaixo apresento as mensagens de erro quando rodei a função de leitura do arquivo sem retirar os acentos:

> dados<-read.table("exemplo1.txt", header=T)
Error in make.names(col.names, unique = TRUE) :
string multibyte inválida em '<c1>rea'
> dados<-read.table("exemplo2.txt", header=T)
Error in make.names(col.names, unique = TRUE) :
string multibyte inválida em '<ff><fe>U'

p.s: o "exemplo2.txt" foi criado a partir das minhas tentativas em salvar o arquivo com outros atributos de texto. Wink

Giovanna Barreto
Giovanna Barreto

Mensagens : 49
Data de inscrição : 23/12/2015

Ir para o topo Ir para baixo

Erros na leitura de arquivos | Usuários Mac Empty Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Maurício Lamano Ferreira Dom Jan 10, 2016 1:14 pm

Olá Giovana, boa tarde!
Eu acho que iremos trocar muitas "figurinhas" neste curso... sugiro "estreitarmos" os contatos para nos socorrermos com alguns comandos básicos!
abs e qquer novidade eu lhe escrevo,

Maurício Lamano Ferreira

Mensagens : 39
Data de inscrição : 09/01/2016

Ir para o topo Ir para baixo

Erros na leitura de arquivos | Usuários Mac Empty Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Prof. Marcos Dom Jan 10, 2016 1:33 pm

Oi, Giovanna!

Acho que o csv é uma boa opção, pois é um arquivo fácil de gerar em qualquer gerenciador de planilhas (ecxel, calc, etc.). Mas na hora de ler, usando o read.csv, omita o argumento header, pois o csv lê o header automaticamente.

Agora, no output do seu csv, podemos notar que o arquivo está separado por ponto-e-vírgula, e não por vírgula! O excel faz isso, nunca entendi por que. Uma solução é incluir o argumento sep=";" no comando.

Então tente assim:
dados<-read.csv("exemplo4.csv", sep=";")

Depois disso dê um summary(dados), e nos mostre aqui como foi, pode ser?

Vou investigar mais sobre os arquivos txt no mac para saber a melhor opção. Mas acho que csv pode ser o cominho! Wink
Prof. Marcos
Prof. Marcos

Mensagens : 678
Data de inscrição : 23/12/2015
Idade : 42
Localização : Maceió, AL

https://cantinhodor.wordpress.com/

Ir para o topo Ir para baixo

Erros na leitura de arquivos | Usuários Mac Empty Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Giovanna Barreto Dom Jan 10, 2016 9:02 pm

legal, prof. Marcos. Rodou direitinho com a função: dados<-read.csv("exemplo4.csv", sep=";"). Ficou assim, ó:

> dados
UA Ambiente Area Riqueza_de_especies
1 1 primario 120 10
2 2 primario 100 15
3 3 primario 90 12
4 4 primario 150 9
5 5 primario 130 5
6 6 secundario 90 13
7 7 secundario 125 8
8 8 secundario 105 7
9 9 secundario 110 9
10 10 secundario 120 10

> summary(dados)
UA Ambiente Area Riqueza_de_especies
Min. : 1.00 primario :5 Min. : 90.0 Min. : 5.00
1st Qu.: 3.25 secundario:5 1st Qu.:101.2 1st Qu.: 8.25
Median : 5.50 Median :115.0 Median : 9.50
Mean : 5.50 Mean :114.0 Mean : 9.80
3rd Qu.: 7.75 3rd Qu.:123.8 3rd Qu.:11.50
Max. :10.00 Max. :150.0 Max. :15.00


Mas só deu certo porque eu havia retirado os acentos antes. De todo modo, seria muito importante saber se existe alguma forma de converter os arquivos para leitura no Mac.

Maurício, com certeza, seguimos trocando. Pode contar comigo!
Abraços
Giovanna Barreto
Giovanna Barreto

Mensagens : 49
Data de inscrição : 23/12/2015

Ir para o topo Ir para baixo

Erros na leitura de arquivos | Usuários Mac Empty Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Giovanna Barreto Seg Jan 11, 2016 5:15 pm

Um adendo: testei novamente, em todas as extensões .csv possíveis, salvar sem tirar o acento e rodar a função dados<-read.csv("exemplo8.csv", sep=";"), mas sem retirar os acentos não vai! Sad

Veja a resposta:

> dados<-read.csv("exemplo8.csv", sep=";")
Error in make.names(col.names, unique = TRUE) :
string multibyte inválida em '<c1>rea'
> dados<-read.csv("exemplo8.csv")
Error in make.names(col.names, unique = TRUE) :
string multibyte inválida 1

Giovanna Barreto
Giovanna Barreto

Mensagens : 49
Data de inscrição : 23/12/2015

Ir para o topo Ir para baixo

Erros na leitura de arquivos | Usuários Mac Empty Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Prof. Marcos Ter Jan 12, 2016 3:17 pm

Oi, pessoal!

Voltei aqui, vamos lá tentar resolver o problema dos acentos.

Ainda tenho que pesquisar mais, mas sugiro tentar lidar com o argumento fileEncoding. Tente ler os dados novamente, do jeito de antes, mas com com um argumento extra:

dados<-read.csv("exemplo8.csv", sep=";", fileEncoding="latin1")

Se não der, tente assim:

dados<-read.csv("exemplo8.csv", sep=";", fileEncoding="UFT-8")

Me digam se deu certo, ok?
Prof. Marcos
Prof. Marcos

Mensagens : 678
Data de inscrição : 23/12/2015
Idade : 42
Localização : Maceió, AL

https://cantinhodor.wordpress.com/

Ir para o topo Ir para baixo

Erros na leitura de arquivos | Usuários Mac Empty Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Maurício Lamano Ferreira Qua Jan 13, 2016 12:57 am

Giovana, boa noite!
Acabei de perceber que poderia ter postado aqui, mas criei um ícone para detalhar uma forma muita parecida com a do sistema windows... na verdade, seguem os mesmos passos que o professor Marcos está ensinando... acho que vale a pena fazer um teste se tiver um tempinho...
abs

Maurício Lamano Ferreira

Mensagens : 39
Data de inscrição : 09/01/2016

Ir para o topo Ir para baixo

Erros na leitura de arquivos | Usuários Mac Empty Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Giovanna Barreto Qua Jan 13, 2016 8:02 pm

oi professor Marcos,

seguindo suas orientações compartilho as respostas que obtive para aprendizados coletivos! Para ler uma planilha em arquivo .csv com acentos, a única função que funcionou foi a primeira abaixo:

> dados<-read.csv("exemplo10.csv", sep=";", fileEncoding="latin1")
> dados
UA Ambiente Área Riqueza_de_espécies
1 1 primário 120 10
2 2 primário 100 15
3 3 primário 90 12
4 4 primário 150 9
5 5 primário 130 5
6 6 secundário 90 13
7 7 secundário 125 8
8 8 secundário 105 7
9 9 secundário 110 9
10 10 secundário 120 10


> dados<-read.csv("exemplo10.csv", sep=";", fileEncoding="UFT-8")
Error in file(file, "rt", encoding = fileEncoding) :
conversão não suportada de 'UFT-8' para ''

> dados<-read.csv("exemplo10.csv")
Error in make.names(col.names, unique = TRUE) :
string multibyte inválida 1

> dados<-read.csv("exemplo10.csv", sep=";")
Error in make.names(col.names, unique = TRUE) :
string multibyte inválida em '<c1>rea'
Giovanna Barreto
Giovanna Barreto

Mensagens : 49
Data de inscrição : 23/12/2015

Ir para o topo Ir para baixo

Erros na leitura de arquivos | Usuários Mac Empty Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Prof. Marcos Qui Jan 14, 2016 11:56 am

Opa, que legal que funcionou, Giovanna! Assim as coisas ficam mais simples.
Seria muito problemático ter que retirar os acentos todas as vezes que fosse usar...

Depois confira se a solução também vale para um txt. Por exemplo: faça o teste, usando o mesmo argumento fileEncoding="latin1" para o arquivo prática1.txt do curso, e depois avise se funcionou.
Prof. Marcos
Prof. Marcos

Mensagens : 678
Data de inscrição : 23/12/2015
Idade : 42
Localização : Maceió, AL

https://cantinhodor.wordpress.com/

Ir para o topo Ir para baixo

Erros na leitura de arquivos | Usuários Mac Empty Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Giovanna Barreto Qui Jan 14, 2016 12:25 pm

Veja que interessante: o arquivo em .txt já abre com erros nas palavras acentuadas. Mesmo assim, eu consegui lê-lo corretamente usando o seguinte comando:

dados<-read.table("pratica1.txt", fileEncoding="latin1")

Nesse caso tive que tirar o sep=";"  
Ele também lê o arquivo mesmo com o argumento sep=";"  mas a leitura não é feita corretamente.


Erros na leitura de arquivos | Usuários Mac 2hq43a0

Erros na leitura de arquivos | Usuários Mac 2rdffc1
Giovanna Barreto
Giovanna Barreto

Mensagens : 49
Data de inscrição : 23/12/2015

Ir para o topo Ir para baixo

Erros na leitura de arquivos | Usuários Mac Empty Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Prof. Marcos Qui Jan 14, 2016 12:33 pm

Oba!

Resumindo tudo: o usuário de MAC, caso receba um arquivo txt enviado por alguém, deve sempre ler usando:

read.table("arquivo.txt", header=T, fileEncoding="latin1")

Caso ele esteja criando o próprio arquivo, uma boa é salvar como csv, e aí usar o comando:

read.csv("arquivo.csv", fileEncoding="latin1", sep=";")

Acho que no fundo, é isso, não é?

*Editei pra corrigir: de fato, read.csv não precisa de header=T


Última edição por Prof. Marcos em Qui Jan 14, 2016 1:27 pm, editado 1 vez(es)
Prof. Marcos
Prof. Marcos

Mensagens : 678
Data de inscrição : 23/12/2015
Idade : 42
Localização : Maceió, AL

https://cantinhodor.wordpress.com/

Ir para o topo Ir para baixo

Erros na leitura de arquivos | Usuários Mac Empty Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Giovanna Barreto Qui Jan 14, 2016 12:35 pm

Aliás, disse que ele leu corretamente, mas estou intrigada com os V1 V2 V3 V4 e V5 no cabeçalho. Também quando rodo o comando summary(dados) ele aparece assim:


Erros na leitura de arquivos | Usuários Mac 2cx9a8



Acho que vou ter que corrigir a planilha na mão desta vez porque não tenho o arquivo em .xlxs
Giovanna Barreto
Giovanna Barreto

Mensagens : 49
Data de inscrição : 23/12/2015

Ir para o topo Ir para baixo

Erros na leitura de arquivos | Usuários Mac Empty Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Giovanna Barreto Qui Jan 14, 2016 12:37 pm

um p.s sobre a sua mensagem. Você havia dito que arquivos .csv não precisam do argumento "cabeçalho". Procede?

read.csv("arquivo.csv", header=T, fileEncoding="latin1", sep=";")
Giovanna Barreto
Giovanna Barreto

Mensagens : 49
Data de inscrição : 23/12/2015

Ir para o topo Ir para baixo

Erros na leitura de arquivos | Usuários Mac Empty Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Giovanna Barreto Qui Jan 14, 2016 12:40 pm

Pronto!

Mas quando eu uso o arquivo .txt eu preciso SIM usar o header=T! Agora deu certo, olha:

Erros na leitura de arquivos | Usuários Mac 8xlm5j


Erros na leitura de arquivos | Usuários Mac K0m2qw
Giovanna Barreto
Giovanna Barreto

Mensagens : 49
Data de inscrição : 23/12/2015

Ir para o topo Ir para baixo

Erros na leitura de arquivos | Usuários Mac Empty Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Prof. Marcos Qui Jan 14, 2016 1:28 pm

Isso!

No read.table, usar header=T é obrigatório se você tiver um cabeçalho.

No read.csv não usamos, pois ele automaticamente lê o cabeçalho.

Editei e corrigi minha postagem mais acima, para evitar confusão de quem acessar este tópico para ler.
Prof. Marcos
Prof. Marcos

Mensagens : 678
Data de inscrição : 23/12/2015
Idade : 42
Localização : Maceió, AL

https://cantinhodor.wordpress.com/

Ir para o topo Ir para baixo

Erros na leitura de arquivos | Usuários Mac Empty Re: Erros na leitura de arquivos | Usuários Mac

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos