programing

read.csv에서 colClass 지정

batch 2023. 6. 15. 21:43
반응형

read.csv에서 colClass 지정

나는 다음을 지정하려고 합니다.colClasses의 옵션read.csvR에서 기능합니다.내 데이터에서 첫 번째 열time는 기본적으로 문자 벡터이며 나머지 열은 숫자입니다.

data <- read.csv("test.csv", comment.char="" , 
                 colClasses=c(time="character", "numeric"), 
                 strip.white=FALSE)

위의 명령에서, 나는 R이 읽기를 원합니다.time열은 "문자"로, 나머지 열은 숫자로 표시합니다.비록data명령이 완료된 후 변수의 결과가 정확했습니다. R은 다음 경고를 반환했습니다.이 경고들을 어떻게 고칠 수 있는지 궁금합니다.

경고 메시지:
1: read.table(파일 = 파일, 헤더 = 헤더, sep = sep, 따옴표 = 따옴표, : 'colClasses'에 이름이 지정된 일부 열이 존재하지 않습니다.
2: Intmp[i[i] > 0L] <- colClasss : 교체할 항목 수가 교체 길이의 배수가 아닙니다.

데릭

하나의 열에 대해서만 colClasses를 지정할 수 있습니다.

따라서 예제에서는 다음을 사용해야 합니다.

data <- read.csv('test.csv', colClasses=c("time"="character"))

colClasses 벡터의 길이는 가져온 열 수와 같아야 합니다.나머지 데이터 집합 열이 5개라고 가정합니다.

colClasses=c("character",rep("numeric",5))

'시간' 열에 숫자가 아닌 문자가 포함된 관측치가 하나 이상 있고 다른 모든 열에 숫자만 있다고 가정하면, 'read.csv'의 기본값은 '시간'을 '요인'으로 읽고 나머지 모든 열을 '숫자'로 읽는 것입니다.따라서 'stringsAsFactors='를 설정합니다.F'는 'colClasses'를 수동으로 설정하는 것과 동일한 결과를 가져옵니다.

data <- read.csv('test.csv', stringsAsFactors=F)

열 번호가 아닌 헤더의 이름을 참조하려는 경우 다음과 같은 방법을 사용할 수 있습니다.

fname <- "test.csv"
headset <- read.csv(fname, header = TRUE, nrows = 10)
classes <- sapply(headset, class)
classes[names(classes) %in% c("time")] <- "character"
dataset <- read.csv(fname, header = TRUE, colClasses = classes)

OP가 질문한 것은 알고 있습니다.utils::read.csv기능, 하지만 사용하는 방법을 검색하는 이들에 대한 답을 제공하겠습니다.readr::read_csv깨끗한 쪽에서

read_csv ("test.csv", col_names=FALSE, col_types = cols (.default = "c", time = "i"))

모든 열의 기본 유형을 문자설정하고 시간은 정수로 구문 분석합니다.

헤더가 없고 열이 많은 여러 datetime 열의 경우, 내 datetime 필드가 36열과 38열에 있으며 문자 필드로 읽힙니다.

data<-read.csv("test.csv", head=FALSE,   colClasses=c("V36"="character","V38"="character"))                        

@Hendy와 @Oddysseus Ithaca가 기여한 것을 결합하면, 우리는 더 깨끗하고 더 일반적인(즉, 적응 가능한) 코드 덩어리가 됩니다.

    data <- read.csv("test.csv", head = F, colClasses = c(V36 = "character", V38 = "character"))                        

언급URL : https://stackoverflow.com/questions/2805357/specifying-colclasses-in-the-read-csv

반응형