Чтение текстового файла в R

#r #dataframe #read.table

#r #фрейм данных #read.table

Вопрос:

Я всегда читал текстовые файлы в R ok без каких-либо проблем. Я только сегодня заметил, что при чтении текстового файла в RStudio он автоматически импортирует переменные как факторы. Это легко исправить, stringsasFactors = F но теперь он импортирует каждый столбец как символ. Я использую read.table для этого, как в:

 read.table("file.text", stringsAsFactors = F, header = T)
  

Кто-нибудь знает, как получить read.table команду для импорта столбцов текстового файла в виде чисел? Я немного поискал, но было бы полезно узнать, есть ли у кого-нибудь еще такие же проблемы read.table .

Комментарии:

1. при указании stringsAsFactors = F импортируется не каждый столбец в виде символа, а только те столбцы, где в любом месте столбца встречается нечисловой символ. Если вы ожидаете, что столбец будет отображаться как числовой, а он отображается как символьный, то в этом столбце есть что-то нечисловое.

2. Спасибо за этот полезный совет.

3. Как вы правильно заметили, оказывается, проблема в том, что у меня есть нечисловой символ в текстовом файле, который мне удалось исправить. Спасибо.

Ответ №1:

Вы можете указать вектор, который содержит классы столбцов, которые вы собираетесь прочитать. Например, если в ваших исходных данных было два столбца, первый из которых вы хотели использовать как числовой, а второй как фактор, тогда вы можете использовать это:

 classes <- c(col1="numeric", col2="factor")
read.table("file.text", colClasses=classes, stringsAsFactors=FALSE)
  

Комментарии:

1. Спасибо за любезный ответ. Что, если я хочу, чтобы все столбцы были числовыми? Существует более 10 столбцов.

2. @John Тогда просто используйте numeric везде.

3. Как classes = c("numeric") и read.table ? Нужно ли указывать каждый столбец или есть другой способ сделать это?

4. Используйте rep("numeric", times) , где times — количество столбцов, которые у вас есть во входном файле.