2012-08-08 2 views
0

read.table을 사용하여 데이터를 가져 오는 경우 이상한 점이 있습니다.Read.table에서 모든 데이터 행을 가져올 수 없습니다.

data=read.table('/home/tiger/nasdaqlisted.txt',head=T,sep='|') 
dim(data) 
[1] 750 6 

실제로 파일에 2454 줄이 있습니다. 무엇이 잘못 되었나요?
http://freeuploadfiles.com/bb3cwypih2d2

+1

이 때문에 특수 문자 나 종류의 뭔가 보통입니다. 소스 파일에서 751 행에 대해 재미있는 것이 있습니까? – A5C1D2H2I1M1N2O1R2T1

+0

질문에 텍스트 파일의 처음 몇 줄을 붙여 넣으면 데이터가 어떻게 보이는지 알 수 있습니다. – Andrie

+0

이상하게도,'read.delim ("path/to/file", sep = "|")'는 모든 행을 읽습니다. 그것을 시도해 볼 수 있으며, 그것이 효과가 있다면 알려주시겠습니까? – A5C1D2H2I1M1N2O1R2T1

답변

3

나는 문제가 이름의 일부 (예 : Angie's List, Inc. 같은 이름에) 인용 문자 '가 포함되어 있다는 사실에서 유래 생각합니다. read.tablequote에 대한 기본 인수가 "\"'" 인 경우 데이터를 올바르게 읽으려면이 값을 변경해야합니다. @mrdwab 제안 사항에 따라

read.table("path/to/file", header=TRUE, sep="|", quote="") 

, quote 인수가 변경 없이도 작동합니다 기본값으로 "\"" 가진 read.delim :

read.delim("path/to/file", header=TRUE, sep="|") 
+1

그러면'quote = ""'를 설정하지 않는 이유는 무엇입니까? 나는 그것이 가장 이해가된다고 생각할 것이다 .... – A5C1D2H2I1M1N2O1R2T1

+0

물론, 나는 적절하게 편집 할 것이다. – plannapus

+0

이 답을 좀 더 완벽하게 만들기위한 또 다른 대안으로 'read.delim' 설명과'quote' 기본값을 함께 추가하는 것이 어떻습니까? – A5C1D2H2I1M1N2O1R2T1

관련 문제