2017-11-17 13 views
0

개인 CRAN이 아닌 개인 R 패키지가 있습니다. 그 목적은 내가해야 할 반복적 인 논쟁의 양을 줄이는 것입니다. 데이터는 SQL Server에서 가져와야합니다. 이 SQL 끌어 오기 매주 수행됩니다. 어디서 내 SQL 파일을 넣어야하고, R 코드를 어디에 배치해야합니까?예약 된 SQL 끌어 오기로 R 패키지의 데이터 유지

+1

나는 무엇이 문제인지 잘 모르겠습니다. 코드에서'read.csv ('path to data')'를 사용할 수 있습니까? 어쨌든,이 목적을 위해 유용했던 패키지 중에는 일정에 따라 데이터를 새로 고치기위한'DataCache'와 SQL을 R에 직접 연결하기위한'RODBC'가 있습니다. 따라서 SQL 데이터를 별도로 저장할 필요가 없으며'cronR' R 코드 스케줄링. – spinodal

답변

0

어딘가에서 데이터를 가져 오기 위해 SQL을 사용한다는 것을 의미합니까? 데이터 소스 란 무엇입니까? 또는 SQL을 작성하여 데이터를 작성한다는 의미입니까?

구체적으로 알지 못하면 다음과 같은 두 가지 옵션이 있습니다. 1. RODBC 패키지를 사용하고 sqlQuery()과 같이 사용할 수 있습니다.

Data<- sqlQuery(odbcDriverConnect(...),paste("SELECT 
          * 
          FROM DTtest;")) 

SQL을 사용하여 데이터 소스에서 데이터를 '호출'할 수 있습니다. 더 많은 정보를 찾을 수 있습니다 : https://www.statmethods.net/input/dbinterface.html 이 방법을 사용하면 SQL 파일을 저장할 위치에 대해 걱정할 필요가 없습니다. 이 경우 작업 디렉토리가 R 스크립트 또는 R 출력이 있어야하는 위치에 제대로 연결되어 있는지 확인해야합니다.

  1. SQL 스크립트를 사용하면 다른 곳에서 데이터를 가져올 수 있습니다. Windows 스케줄러 나 스케줄러를 사용하여 스크립트를 예약하고 실행할 수 있으며, 그 디렉토리에서 데이터를 가져 오기 위해 R을 사용하는 한 폴더에 출력을 저장합니다.
+0

포인트 2 내가 찾고 있던 것이 었습니다. SQL 파일은 데이터가 아닌'.sql'이지만, sqlQuery 함수에 그 코드를 넣을 수도있다. – Alex

+0

@Alex 예, 가능합니다. 나는 또한 SQL 쿼리가 얼마나 복잡한 지에 달려 있다고 생각한다. 때로는 R에서 SQL 쿼리를 실행해도 작동하지 않는다. 그래서 무거운 것을하고 데이터베이스에 테이블을 만든 다음 SQL을 사용하여 R을 통해 데이터를 빠르게 가져옵니다 (xxx에서 xxx 선택). – lemonC

1

패키지를로드하고 데이터를 가져와 (here 참조) 패키지를 다시 컴파일해야하는 chron 작업을 만들어야합니다.