我必须制作动态变量来存储伪代码中给出的不同值
for(i in 1:30)
"Day"+i <- sqldf("select * from call_details where day ="+i)
是否可能在 R 中,如果可能,那么如何?我只能连接字符串(使用paste),它将连接的字符串存储为字符,但无法在其上存储值。我也无法找出如何在 sql 查询语句中传递变量。
我必须制作动态变量来存储伪代码中给出的不同值
for(i in 1:30)
"Day"+i <- sqldf("select * from call_details where day ="+i)
是否可能在 R 中,如果可能,那么如何?我只能连接字符串(使用paste),它将连接的字符串存储为字符,但无法在其上存储值。我也无法找出如何在 sql 查询语句中传递变量。
您应该将类似的数据存储在结构中,list
而不是自由浮动变量。起初这可能看起来很奇怪,但相信我,当我说这将防止更多的悲伤时。例如:
Days <- lapply(1:30,function(i) sqldf(paste("select * from call_details where day =",i)) )
然后您可以访问列表的组件,例如:
Days[[1]]
Days[[2]]
etc etc
而不是使用day1
day2
等
您可能希望研究assign
能够以您描述的方式构造变量。一般来说,你可以使用paste
,但你用逗号连接字符串,而不是加号。
类似于以下内容:
for(i in 1:30)
assign(paste0("Day",i), sqldf(paste("select * from call_details where day =",i)))