2013-05-11 76 views
1

我必须做出哪些存储不同的值作为伪代码的毗连字符串变量的值,以形成新的变

for(i in 1:30) 
"Day"+i <- sqldf("select * from call_details where day ="+i) 

给出是否有可能在R或没有,如果可能,那么如何动态变量?我只是能够连接字符串(使用paste),将字符串存储为字符,但无法存储值。此外,我无法找到如何在sql查询语句上传递变量。

+0

对于把各种变量纳入选择字符串见例5的sqldf主页:http://sqldf.googlecode.com – 2013-05-11 22:35:27

回答

3

你应该在一个结构存储类似的数据像list,而不是自由浮动的变量。这在开始时可能看起来很奇怪,但是当我说这样可以防止更多的悲伤时,请相信我。例如:

Days <- lapply(1:30,function(i) sqldf(paste("select * from call_details where day =",i))) 

然后你就可以访问列表的组件,如:

Days[[1]] 
Days[[2]] 
etc etc 

而不是使用day1day2等等等等

1

您可能想要查看assign以便能够以您描述的方式构造变量。一般来说,你可以使用paste,但你用逗号连接字符串,而不是加号。

类似以下内容:

for(i in 1:30) 
    assign(paste0("Day",i), sqldf(paste("select * from call_details where day =",i)))