Определение colClasses в read.csv

Я пытаюсь указать colClasses опции в read.csv функция в R. В моих данных первый столбец "время" является в основном символьным вектором, в то время как остальная часть столбцов является числовой.

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

В вышеупомянутой команде я хотел бы, чтобы R читал в столбце "времени" как "символ" и остальные как числовой. Хотя, переменная "данных" действительно имела корректный результат после того, как команда завершилась, R возвратил соблюдающие предупреждения. Я задаюсь вопросом, как я мог зафиксировать эти предупреждения?

Warning messages:
 1: In read.table(file = file, header = header, sep = sep, quote = quote,  :
    not all columns named in 'colClasses' exist
 2: In tmp[i[i > 0L]] <- colClasses :
    number of items to replace is not a multiple of replacement length

Derek

101
задан bartektartanus 11 January 2015 в 16:35
поделиться

2 ответа

Вектор colClasses должен иметь длину, равную количеству импортированных столбцов. Предположим, что остальные столбцы вашего набора данных равны 5:

colClasses=c("character",rep("numeric",5))
77
ответ дан 24 November 2019 в 04:37
поделиться

Если предположить, что ваш столбец 'time' имеет хотя бы одно наблюдение с нечисловым символом, а все остальные столбцы имеют только числа, то 'read.csv' по умолчанию будет считать 'time' как 'фактор', а все остальные столбцы как 'числовые'. Поэтому установка 'stringsAsFactors=F' будет иметь тот же результат, что и установка 'colClasses' вручную, т.е.

data <- read.csv('test.csv', stringsAsFactors=F)
13
ответ дан 24 November 2019 в 04:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: