使用r的数据框名称中的宏变量

时间:2017-07-06 14:41:26

标签: r

我想在r中使用来自SAS的宏变量的概念,但似乎无法找到正确的代码。 它通常在SAS中看起来像这样,我改变名称一次,它复制了许多地方。

%LET CITY=NewYork; 
Query_&NAME_V01 <- &NAME[,1:3]
Query_&NAME_V01 <- &NAME[1:10,]

我尝试使用quotenoquote函数,但我总是最终收到此错误消息:target of assignment expands to non-language object

1 个答案:

答案 0 :(得分:3)

我最近不得不学习一些SAS并且相信我,我不能想到像R中的SAS宏这样的东西。至少不是那些易于使用的东西。 但请相信我,R更强大,你只需像R(和现在的大多数编程语言)一样思考而不是像SAS那样。

将您的数据放入列表并在此处使用for循环打印dataframe的名称的示例(cat只是打印函数)

example<-list(airquality,iris,mtcars)
for(i in 1:length(example)){
  cat(colnames(example[[i]]),"\n")
}

您可以使用非标准评估来模仿SAS行为,这里是参考http://adv-r.had.co.nz/Computing-on-the-language.html,但请相信我这是一个不适合新手的东西。即使是R经验丰富的用户也在努