2016-08-17 5 views
0

필자는 회사의 마케팅 지출 보고서를 Excel에서 5 개 탭으로 구성했습니다. 각 탭은 지난 5 년간 각각의 광고 항목 비용과 동일한 열을 나타냅니다. 나는 하나의 데이터 프레임에 추가 변수 "year"를 사용하여 파일의 재구성을 자동화/스크립팅하려고하므로 Join을 사용하지 않고 Tableau에서이를 분석 할 수 있습니다.R에 Excel 탭 바인딩?

R에서 xlsx 파일을 읽고 탭을 rbind() 할 수 있습니까? 나는 현재 탭에서 별도의 .csv 파일로 읽는 중입니다. Excel에서 수동으로 재구성하는 것만큼이나 노동 집약적입니다. 여기에 내가 (더 많은 탭 제외)이 내용은 다음과 같습니다

data1<- read.csv("tab1.csv") #This year 
data1$year <- c(1:nrow(data1)) 
data1$year <- 2016 

data2<- read.csv("tab2.csv") #Last year 
data2$year <- c(1:nrow(data2)) 
data2$year <- 2015 

data3<- read.csv("tab3.csv") #Two years ago 
data3$year <- c(1:nrow(data32)) 
data3$year <- 2014 

data <- rbind(data1, data2, data3) 
rm(data1,data2,data3) 
+0

참조 [readxl] (http://stackoverflow.com/a/29138966/6455166)를 하나의 접근법으로 사용합니다. –

답변

0

당신이 사용할 수있는 얼마나 많은 시트를 알고있는 경우 readxl :

library(readxl) 
listy <-lapply(1:5, function(x) read_excel("EXCELWORKBOOK.xlsx", sheet = x)) #here you know that there are 5 sheets in the excel workbook 
datr <- do.call(rbind, listy) 
+0

감사합니다. 나는 패키지를 다운로드하기 위해 IT 티켓을 제출해야하므로 오늘 밤에 집에서 이것을 시도 할 것이다. –

+0

사전에 몇 개의 시트가 있는지 알 필요가 없으므로'readxl :: excel_sheets() '를 사용하여 이름/시트 수를 찾을 수 있습니다 – arvi1000

+0

바이너리 범주 변수를 각 시트로 반복 할 수있는 방법이 있습니까? 즉, 시트 1의 모든 변수에 대해 "지난 주 = 1", 나머지 모든 변수에 대해 0입니다. 죄송합니다. readxl에 익숙하지 않습니다. –