2013-10-10 4 views
0

У меня есть много текстовых файлов с именем по году i.e. yob1940.txt, yob1941.txt. Каждый файл имеет 3 столбца данных. Я пытаюсь импортировать данные в R в одной таблице данных и добавлять год для каждого файла в 4-м столбце.
Любая помощь будет высоко оценена. БлагодаряR, конвертировать несколько текстовых имен файлов в имя столбца

+2

Много вопросов о это. Вам понадобятся функции 'list.files',' do.call', 'sapply' или' lapply'. Необязательно в этом порядке. :) –

ответ

0

Smth, как это будет работать:

rbindlist(lapply(list.files(pattern = "yob[0-9]+\\.txt"), 
       function(x) data.table(year = sub('.*?([0-9]+).*', '\\1', x), 
             fread(x))))) 
0

Предполагая, что вы прочитали эти файлы как x1 и x2

df.list<-list(x1,x2) 
kk<-do.call(rbind,df.list) 
year<-data.frame(rep(c(1940,1941),c(nrow(x1),nrow(x2)))) 
names(year)<-"year" 
mydata<-data.frame(cbind(kk,year)) 

Образец Пример:

x1<-data.frame(x=c(1,3),y=c(2,3)) 
x2<-data.frame(x=c(3,3),y=c(2,2)) 
df.list<-list(x1,x2) 
kk<-do.call(rbind,df.list) 
year<-data.frame(rep(c(1940,1941),c(nrow(x1),nrow(x2)))) 
names(year)<-"year" 
mydata<-data.frame(cbind(kk,year)) 

mydata 
    x y year 
1 1 2 1940 
2 3 3 1940 
3 3 2 1941 
4 3 2 1941 
Смежные вопросы