2013-11-26 3 views
-4

어제이 질문을했는데 답변을 들었지만 실제로 제 질문을 이해하지 못했습니다. 데이터베이스에서 데이터를 추출해야합니다. 그러나 사용자는 변수 목록을 제공합니다. 요청 된 각 변수를 반복하고, 연결된 데이터를 가져 와서 data.frame에 드롭하여 분석 할 준비가 된 코드가 필요합니다.사용자 지정 변수에 대해 data.frame에서 데이터 가져 오기

f.extractVariables<- 
    structure(function 
(dbPath,dbName,table,variables 
    ){ 
# LOAD LIBRARIES 
require(RODBC) 
require(xlsx) 

setwd(dbPath) 
db <- odbcConnectAccess2007(dbName) 

#This was my idea on how to loop through the variable list but it won't run 
for (i in 1:length(variables)) 
    { 
dataCollection <- sqlQuery(db, 'SELECT table.variables[[i]] 
        FROM table;') 
} 

#This piece was the solution I was given which runs but all it does is parrot back 
#the variable list it doesn't retrieve anything. 
variables=paste(variables,collapse=",") 
query<-paste(paste("SELECT",variables), 
"FROM table",sep='\n') 
cat(query) 

odbcClose(db) 
} 
) 
#And the user provided input looks something like this. I can change the way the 
#variable list comes in to make it easier. 
      dbPath = 'z:/sites/' 
    dbName = 'oysterSites.accdb' 
    table = 'tblDataSiteOysterSamplingPlan' 
    variables= 'nwLon,nwLat,neLon,neLat' 

    f.extractVariables(dbPath,dbName,table,variables) 
+1

그리고 이번에는 아무도 질문을 이해하지 못할 것입니다. 간단하고 문제를 재현 할 수있는 예제를 제공하지 않으므로 아무도 이해할 수 없습니다. "물음표"... – Raffael

+0

"요청 된 각 변수를 루프 처리하고 관련 데이터를 가져 와서 data.frame에 드롭하여 분석 할 준비가되었습니다." 그런 다음 코드 내부에서 "이 방법이 있어야한다고 생각하지만 실행하지 않아야합니다."또한 "이것은 내게 주어졌으며 실행되지만 변수를 다시 앵무새에만 사용합니다"이것은 물음표가 있거나없는 질문입니다. 어쩌면 나는 "어떻게?"라는 단어를 추가 할 수 있습니다. 하지만 나는 영리한 사람들이 그것없이 그것을 얻는다 고 생각합니다. – user3009978

+0

나는이 질문과 원래의 질문 사이에 (어렴풋한 가치가있는) 몇 가지 설명 이외에는 의미있는 차이가 없다는 것을 알고 있으므로 중복 된 것으로 결론을 내리고 있습니다. – joran

답변

0

어떤 언어로 코딩한다고 생각하십니까? 이

for (i in 1:length(variables)) 
    { 
dataCollection <- sqlQuery(db, 'SELECT table.variables[[i]] 
        FROM table;') 
} 

하는 'SELECT table.variables[[i]] FROM table;' 항상 루프의 모든 사이클에 대한 SAME 될 것입니다 제거, AMD는 당신이 무엇을 적어도 내 생각 엔 (로 변경 ... .NET되지 않는다 하려고했는데)

for (i in 1:length(variables)) 
    { 
dataCollection <- sqlQuery(db, paste0('SELECT table.variables[[', i, ']] 
        FROM table;')) 
} 

당신은 위가 작동하지 않는다고 말합니다. 코드를 검토하고 위의 문제를 해결할 필요가 없다면 다시

+0

R. 미안하지만, 질문을 다시 게시, 나는 특정하는 것을 잊었습니다. – user3009978

+0

@ user3009978 글쎄, 여기 오기 전에 좀 더 문서화해야한다.''nwLon, nwLat, neLon, neLat '은 벡터인가? 나는 당신이'c ('nwLon', 'nwLat', 'neLon', 'neLat')을 의미한다고 생각합니다. 그것은 매우 간단합니다 ** 어떤 R 책의 ** 처음 ** 장 – Michele

+0

나는 그것이 벡터라고 결코 말하지 않았다. 나는 사용자로부터 정보를 얻는 가장 좋은 방법을 모른다. 그리고이 사이트는 초조한 전문가가 아닌 자신의 코드에 대한 도움이 필요한 사람들을위한 곳이라고 생각했습니다. 나는 "The R Book"을 가지고 있고 그것을 읽었다. 아무리해도 끔찍한 권리를주는 것은 무엇입니까? 나는 코딩에 익숙하지 않고 경험이 적기 때문에 여기에 속하지 않는 것처럼 모든 질문에 대답하는 사람이 있습니다. 나는 당신이 뭔가 새로운 것에 있고 지원이 필요하다는 것이 무엇인지 기억해야한다고 생각합니다. 당신들은이 사이트에 사람들을 괴롭히는 저크들을 코딩하는 장소로서의 나쁜 평판을줍니다. – user3009978