read.csv vs. read.table

Eu vi em vários casos que, enquantoread.table() não é capaz de ler um arquivo delimitado por tabulação (por exemplo, a tabela de anotações de um microarray) retornando o seguinte erro:

Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  : 
line xxx did not have yyy elements

read.csv() funciona perfeitamente no mesmo arquivo sem erros. Eu também acho que a velocidade deread.csv() também é maior do queread.table().

Ainda mais:read.table() está muito louco lendo um arquivo meu. Ele faz este erro ao ler a linha 100, mas quando eu copio e colo as linhas 90 a 110 logo após a cabeça do mesmo arquivo, ele ainda faz um erro da linha 100 + 21 (novas linhas copiadas no começo). Se houver algum problema com essa linha, por que ela não relata esse erro ao ler a linha colada no início? Eu confirmo queread.csv() lê o mesmo arquivo sem erro.

Você tem alguma idéia do porquêread.table() é incapaz de ler os mesmos arquivos queread.csv() trabalha nisso? Também há algum motivo para usarread.table() em qualquer caso?

questionAnswers(3)

yourAnswerToTheQuestion