【发布时间】:2014-07-04 13:57:53
【问题描述】:
我有一个 datasetup 函数,它目前有 2 个参数:testData 和 ID1。我想将结果变量作为参数包含在内。
假设 outputvar=c(y1,y2,y3) 那么函数应该创建我的结果变量的滞后和差异变量。
preparedata<-function(testData,ID1,outcomevar){
#Order temp data by firm and date
testData <- testData[order(testData$firm,testData$date),]
#Create lagged outcomevar for each firm
testData <- ddply(testData, .(firm), transform,
ly1 = c( NA, y1[-length(y1)] ) )
#Create differenced variable
testData$dy1<-(testData$y1-testData$ly1)
}
y1 前面的“l”和“d”代表滞后和差异。 取决于我如何包含结果变量? 谢谢 T
【问题讨论】:
-
结果变量可以是 y1、y2 或 y3。所以它是一个 3 的向量,该函数将为选定的 y 创建滞后变量,例如preparedata
-
我可以使用 if 语句来做到这一点,但我需要将大部分代码复制 3 次。我不想那样。
-
临时是我的数据。它包含所有的结果变量。请看我更新的帖子。 temp=testData 在这种情况下。
标签: r function arguments dplyr