read.csv를 하는데 factor level이 올바르지 않다고 warning이 발생합니다.


여러개의 *.csv 파일을 read하여 한개의 data frame으로 만들고 있습니다.

filelist <- list.files(pattern=".csv", recursive=T)
temp <- do.call(rbind,lapply(filelist, read.csv()))

실행하면 다음과 같은 warning 들이 발생을 합니다.

경고 메시지:

1: In [<-.factor(*tmp*, ri, value = c(-85.94, -86, -86, ... : 요인의 수준(factor level)이 올바르지 않아 NA가 생성되었습니다. 1

여러가지 검색해 보았는데, 제가 사용하고 있는 Code에 어떤 Option을 넣어줘야 하는지 잘 모르겠습니다.

도움 주시면 감사하겠습니다.

감사합니다.

  • 2016년 10월 14일에 작성됨

조회수 68


1 답변


좋아요
0
싫어요
채택취소하기

올려 주신 코드에 제가 가지고 있는 csv파일로 테스트를 하면, 말씀하신 경고가 아니라 다른 에러가 발생합니다.

Error in read.table(file = file, header = header, sep = sep, quote = quote, : 기본값이 없는 인수 "file"가 누락되어 있습니다

그래서, 다음과 같이 수정하면

filelist <- list.files(pattern=".csv")
temp <- do.call(rbind, lapply(filelist, function(i) {
    read.csv(i, header=F)
}))

오류 없이 정상적으로 temp에 한 데이터프레임으로 리턴됩니다.

참고로 사용한 csv파일은 아래처럼 생겼습니다.

1,2,3,4,5
6,7,8,9,10
11,12,13,14,15

사용하신 csv파일의 내용을 확인해볼 필요가 있을 듯 합니다.


로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close