2017-12-03 116 views
-3

我已经编写了以下代码来比较两个市场,如果我们单独提供数据框名称,代码正在工作。如何使用变量值在R中调用数据帧

enter image description here

for(i in 1:nrow(Market_SystemA)) 

{ 

    A <- Market_SystemA[i,2] 

    B <- Market_SystemB[i,3] 



    MarketA <- data.frame(A) 

    MarketB <- data.frame(B) 

    #This is s fuction in R 

    Compare_Function(MarketA,MarketB) 

} 
+0

但是,如果我们使用变量值是指在数据帧命名为不工作。 –

回答

0

我不知道如果我正确地理解你的问题,但似乎要调用compare_function上两个字符串引用现有的数据帧。要真正从字符串中获取数据帧,您需要使用get函数,该函数会查找名称与该字符串匹配的对象。

MarketA <- get(A)

+0

嗨,感谢您的快速响应。这是我在堆栈流程中的第一篇文章。您准确地获得了我的要求。该解决方案工作完美,但我有第二个市场数据框命名约定(SystemA_Russia)的问题。它只能工作,如果我以这种格式'SystemA_Russia'传递数据框名称。你能帮我解释一下如何将这个''添加到我的数据框名称中。 –

+0

我不确定我是否理解这个问题。添加一些代码到你的文章可能会帮助我理解。也许'paste0('SystemA_','Russia')' – struggles

+0

当然, MarketA < - get(A) - 工作 - 值是“印度”。 MarketB < - 获得(B) - 不工作 - B值为“SystemA-India”,带有优雅口音。 这是工作,如果我像这个('SystemA印度')数据框名称手动应用严重口音。 –