2013-05-11 54 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)))