获取用户指定变量的data.frame中的数据

获取用户指定变量的data.frame中的数据,r,qsqlquery,R,Qsqlquery,我昨天问了这个问题,问题得到了回答,但我认为他们并没有真正理解我的问题。我需要从数据库中提取数据。但是用户提供了变量列表。我需要我的代码循环遍历每个请求的变量,提取与之相关联的数据,并将其放入data.frame中,准备进行分析 f.extractVariables<- structure(function (dbPath,dbName,table,variables ){ # LOAD LIBRARIES require(RODBC) require(xlsx) setw

我昨天问了这个问题,问题得到了回答,但我认为他们并没有真正理解我的问题。我需要从数据库中提取数据。但是用户提供了变量列表。我需要我的代码循环遍历每个请求的变量,提取与之相关联的数据,并将其放入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)

f.extractVariables你认为你在用哪种语言编码?这不是.NET

去掉这个

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

你说上面这些都不行。没有必要继续检查代码,修复上面的问题,然后再回来

,而且这一次没有人会理解你的问题,因为你没有给出一个简单且切中要害的问题示例-顺便说一句,这个示例缺少“问号”。。。“我需要我的代码循环遍历每个请求的变量,提取与之相关联的数据,并将其放入data.frame中,准备进行分析。”然后在代码中我提到“这是我认为应该的方式,但它不会运行”以及“这是给我的,它运行,但只会鹦鹉学舌地返回变量“这是一个带或不带问号的问题。也许我可以加上“怎么做?”这个词,但我认为聪明人没有这个词也能理解。除了一些澄清(价值可疑)之外,我看不出这和你原来的问题有什么有意义的不同,所以我投票以重复的方式结束。是你不明白(非常简单的东西)。我刚刚检查了另一个问题,您已经被告知问题在
for
循环中,该循环是针对任何R语法编写的。这意味着你已经有了解决方案,但你不理解它…是的。我被告知要处理for循环。帮了大忙,伙计们。我告诉你这个问题在我的for循环中,而你告诉我这个问题在我的for循环中,然后去解决它。我希望他们没有付钱给你。仅仅因为我不熟悉编码,你就没有权利做傻子。在R中。很抱歉,我重新发布了这个问题,我忘记了具体说明。@user3009978好吧,那么你在来这里之前应该多记录一点,你认为
'nwLon,nwLat,neLon,neLat'
是一个向量吗??我相信你的意思是
c('nwLon','nwLat','neLon','neLat')
。这是非常简单的东西,任何R书的第一章,我从来没有说过它是向量。我说我不知道从用户那里获取信息的最佳方式。我认为这个网站是为那些需要代码帮助的人而设,而不是为那些紧张的专家而设。我有一本书,我读过。到底是什么让你有权利如此自鸣得意?我对编码还不熟悉,每个回答我问题的人都表现得好像我不属于这里,因为我经验不足。我认为你需要记住在某件事情上是什么样的新手,需要支持。你们给了这个网站一个坏名声,因为它是一个给混蛋编代码来骚扰别人的地方。@user3009978,因为你们提供的很少让我们理解。这让我觉得你可能有这本书,但你没有读
 for (i in 1:length(variables))
  {
 dataCollection <- sqlQuery(db, paste0('SELECT table.variables[[', i, ']]
                    FROM table;'))
 }