Подтвердить что ты не робот

Чтение вкладки Разграниченные данные в R

Я пытаюсь прочитать большой файл с разделителями табуляции в R.

Сначала я попробовал это:

data <- read.table("data.csv", sep="\t")

Но он считывает некоторые числовые переменные в качестве факторов

Итак, я попытался прочитать данные в зависимости от того, какой тип я хочу, чтобы каждая переменная выглядела так:

data <- read.table("data.csv", sep="\t", colClasses=c("character","numeric","numeric","character","boolean","numeric"))

Но когда я пытаюсь это сделать, это дает мне ошибку:

Ошибка в сканировании (файл, что, nmax, sep, dec, quote, skip, nlines, na.strings,:   scan() ожидается "реальный", получил "4"

Я думаю, возможно, что в исходном сыром файле есть кавычки вокруг некоторых числовых значений, но я не уверен.

4b9b3361

Ответ 1

Без просмотра ваших данных у вас есть одна из нескольких вещей: у вас нет всех вкладок, разделяющих данные; в отдельных наблюдениях встроены вкладки; или литнем других.

Как вы можете отсортировать это, установите options(stringsAsFactors=FALSE), затем используйте свою первую строку.

Проверьте str(data) и попытайтесь выяснить, какие строки являются виновниками. Причина, по которой некоторые из числовых значений читаются как факторы, состоит в том, что в этом столбце есть что-то, что R интерпретирует как символ, и поэтому он приводит ко всем столбцам символ. Обычно требуется некоторое копирование, но проблема почти наверняка связана с вашим входным файлом.

Это общая проблема перебора данных, удачи!

Ответ 2

x <- paste("'",floor(runif(10,0,10)),"'",sep="")
x

 [1] "'7'" "'3'" "'0'" "'3'" "'9'" "'1'" "'4'" "'8'" "'5'" "'8'"

as.numeric(gsub("'", "",x))

 [1] 7 3 0 3 9 1 4 8 5 8