обновление (июнь 2016)
col.names был добавлен data.table 1.9.6 так проблема закончена, и все супер счастливы :) Я думаю, что теперь я могу преобразовать все мои read.csv вызовы Fread вызовов без забот разрушенияR data.table Fread не используя именованные colClasses без заголовка (например, не col.names?)
оригинального вопрос
использования data.table 1.9.4
Я импортировать read.csv звонки чтобы пострадать из-за огромных улучшений производительности, которые мы заметили. Большинство проблем, с которыми я могу справиться, но я достиг точки, в которой я не знаю, и если у кого-то есть изящное решение.
Моя проблема заключается в том, что я назвал colClasses, но вход не имеет заголовок (это функция Grep), вот глупый пример, чтобы иметь смысл:
males.students <- read.csv(pipe("grep Male students.csv"),
col.names=c("id", "name", "gender"),
colClasses=(id="numeric"))
сейчас в FREAD я все еще хочу названные colClasses но у меня нет имен Col так просто с помощью
males.students <- fread("grep Male students.csv"),
colClasses=(id="numeric"))
терпит неудачу с
имя столбца 'ид' в colClasses [[1]] не F ound
Как это исправить? есть ли планы добавить col.names?
Поскольку вы знаете, что это первый столбец, вы можете просто использовать номер столбца для этого. 'Список colClasses = (числовое = 1))'. – shadow
Попробуйте использовать аргумент 'select', а также –
@shadow это был явно упрощенный пример: у реального csv есть 40 столбцов, и я устанавливаю colClasses для 19 из них, и я действительно не думаю, что разумно использовать столбец числа, вы хотите, чтобы ваша система была надежной и позволяла изменять, не заставляя ваши данные таинственно менять типы, не выясняя почему. –