#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
— количество столбцов, которые у вас есть во входном файле.