将data.frame变量名称传递给melt和cast in r

将data.frame变量名称传递给melt和cast in r,r,user-defined-functions,reshape2,R,User Defined Functions,Reshape2,我看了好几篇文章,希望能得到帮助来解决我的问题,但没能实现一个解决方案。我的问题很简单,我想从重塑包向cast函数传递一个变量名。变量“Time”是我正在创建的用户定义函数中的一个参数。我想通过cast函数传递这个参数 我经常使用的伪数据: dates <-seq(as.Date("2010-01-01"), by = "day", length.out= 1080) myData <- expand.grid( Day, Hour) names(myData) <- c("D

我看了好几篇文章,希望能得到帮助来解决我的问题,但没能实现一个解决方案。我的问题很简单,我想从重塑包向cast函数传递一个变量名。变量“Time”是我正在创建的用户定义函数中的一个参数。我想通过cast函数传递这个参数

我经常使用的伪数据:

dates <-seq(as.Date("2010-01-01"), by = "day", length.out= 1080)
myData <- expand.grid( Day, Hour)
names(myData) <- c("Date","Hour")

myData$Adspend <- apply(myData, 1, function(x) foo(x[2], x[1]))
myData$Date <-dates

myData$Demand <-(rnorm(1,mean = 0, sd=1)+.75*myData$Adspend)

myData$Hour<-as.factor(myData$Hour)

日期我猜出来了。这是对paste0如何使用as.formula函数的误解。
下面是如何编写cast函数:

require(reshape2)
HOURAD<- dcast(HOURAD,as.formula(paste0("... ~",Time))) ## was a parenthesis error here
require(重塑2)

HOURADIn addition您应该使用
reformae2
包(
reformate
已过时)。(将
cast
更改为
dcast
Bo<-AddLag(myData,"Date","Hour","Demand","Adspend")
Error in parse(text = x) : <text>:2:0: unexpected end of input
1:  ...~
   ^
require(reshape2)
HOURAD<- dcast(HOURAD,as.formula(paste0("... ~",Time))) ## was a parenthesis error here