read.csv에서 colClass 지정
나는 다음을 지정하려고 합니다.colClasses
의 옵션read.csv
R에서 기능합니다.내 데이터에서 첫 번째 열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
'programing' 카테고리의 다른 글
Angular Material | 대화상자가 열려 있는지 확인합니다. (0) | 2023.06.20 |
---|---|
오류 값을 설정하는 방법은 무엇입니까? (0) | 2023.06.15 |
매핑된 드라이브의 실제 경로를 확인하려면 어떻게 해야 합니까? (0) | 2023.06.15 |
Select 문에서 변수 선언 및 설정 (0) | 2023.06.15 |
왜 (x)++의 크기가 컴파일됩니까? (0) | 2023.06.15 |