2013-03-22 3 views
2

Мне нужно только ввести подмножество строк из .txt-файла. Я попытался выполнить это, используя read.table следующим образом: read.table(file.txt,header=TRUE,skip=200000,nrow=500). Однако результирующий файл data.frame не содержит соответствующего заголовка, вместо этого read.table присваивает значения первой строки (то есть строки 200 000) в качестве имен столбцов. Есть ли способ решить эту проблему? Я понимаю, что R начнет вводить данные из .txt. файл в строке 200 000, а с заголовком = ИСТИНА предполагает, что строка 200 000 является заголовком кадра данных. Тем не менее, я хочу, чтобы строка 1 (которая была пропущена) была заголовком. Любая помощь будет принята с благодарностью.read.table error

+1

Почему бы не сделать header = FALSE, а затем прочитать имена отдельно либо с помощью readLines, либо с помощью второй команды read.table? Трудно ответить полностью, не видя точно, что ваш .txt-файл выглядит как – sayhey69

+0

, как сказал 69, попробуйте сначала «header <- read.table (file.txt, header = FALSE, nrow = 1), затем read.table (файл. txt, header = FALSE, skip = 200000, nrow = 500, col.names = header) " –

+0

Спасибо @ sayhey69, это было простое решение, о котором я даже не думал. – user13317

ответ

3

Вы могли бы сделать что-то вроде этого:

test<-read.table(header=TRUE, text=" 
a b 
1 2 
3 4 
5 6 
7 8 
",skip=2,nrow=3) 

test1<-read.table(header=TRUE, text=" 
a b 
1 2 
3 4 
5 6 
7 8 
",nrows = 1) 

colnames(test) <- names(test1) 

Так первый читать данные, которые вы хотите, и после этого чтения в первой строке данных для извлечения COLNAMES. После этого отредактируйте имена столбцов набора данных, которые вам понадобятся по именам второго «набора данных».

0

в 69 сказал, попробуйте сначала получить ваши Col головы в отдельном файле

header<- read.table(file.txt,header=FALSE,nrow=1) 

, то вы можете appenhend этот заголовок цв строку любых записей, у извлекаемых после этого.

read.table(file.txt,header=FALSE,skip=200000,nrow=500, col.names=header)" 
Смежные вопросы