R:通过ddply循环一个stats::filter
我试图通过一个分组变量对一些数据运行一系列不同的过滤器。例如,此代码用于跨分组变量(齿轮)生成一个过滤器(0.1)R:通过ddply循环一个stats::filter,r,plyr,lapply,R,Plyr,Lapply,我试图通过一个分组变量对一些数据运行一系列不同的过滤器。例如,此代码用于跨分组变量(齿轮)生成一个过滤器(0.1) 库(plyr) 图书馆(BBmisc) mtcars我想我已经用迂回的方式回答了我自己的问题,用“by”函数代替了ddply: new <- lapply(newlist, function(y){ by(mtcars, mtcars$gear, function(x) mpgfilter = as.numeric(stats::filter(x$mpg, filter=y,
库(plyr)
图书馆(BBmisc)
mtcars我想我已经用迂回的方式回答了我自己的问题,用“by”函数代替了ddply:
new <- lapply(newlist, function(y){
by(mtcars, mtcars$gear, function(x) mpgfilter = as.numeric(stats::filter(x$mpg, filter=y, method="recursive")))})
new2 <- lapply(new, function(y){
resultsdf <- as.data.frame(t(do.call(rbind,y)))})
df <- as.data.frame(ldply(new2, data.frame))
df2 <- melt(df)
df2 <- ddply(df2,".id",transform,ID=1:length(.id))
finaldata <- dcast(df2, ID + variable ~ .id, value.var = "value")
新建
newdata <- as.data.frame(seq(from = 0.1, to = 0.9, by = 0.1))
newdata <- as.data.frame(t(newdata))
colnames(newdata) = newdata[1, ]
colnames(newdata) <- paste("V", colnames(newdata), sep = "_")
newlist <- convertColsToList(newdata)
newlist3 <- lapply(newlist, function(y){
mtcars2 <- ddply(mtcars,.(gear), transform, mpgfilter = as.numeric(stats::filter(mpg, filter=y, method="recursive")))
})
new <- lapply(newlist, function(y){
by(mtcars, mtcars$gear, function(x) mpgfilter = as.numeric(stats::filter(x$mpg, filter=y, method="recursive")))})
new2 <- lapply(new, function(y){
resultsdf <- as.data.frame(t(do.call(rbind,y)))})
df <- as.data.frame(ldply(new2, data.frame))
df2 <- melt(df)
df2 <- ddply(df2,".id",transform,ID=1:length(.id))
finaldata <- dcast(df2, ID + variable ~ .id, value.var = "value")