2018년 1월 17일 수요일

XML파일 받아서 sqldf 라이브러리로 함수만들기

# 패키지 설치 및 실행
install.packages('XML')
library('XML')
# 데이터 삽입
xmldataframe<-xmlToDataFrame("input.xml")
# 함수
avgfunction<-function(X,Y){
ans<-  sprintf("select avg(%s) from %s",X,Y)
avgSalary<-as.integer(sqldf(ans))
sqldf(ans)
result<-cat("평균연봉 :",avgSalary,"$",fill = F)
result
cat("\n")
}
#실행
avgfunction("SALARY","xmldataframe")
cs




[포인트]
1. xmlToDataFrame으로 xml을 dataframe 타입으로 변환하면 문제가 쉽게 해결됨.
sqldf는 dataframe타입에 적용됨.
2. 원하는 쿼리를 sprintf로 결합
3. cat("\n")을 써주지 않는다면 결과값에 NULL이 추가된다. 고로 cat("\n")을 마지막에 넣어주자.


댓글 없음:

댓글 쓰기