Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:通过ddply循环一个stats::filter_R_Plyr_Lapply - Fatal编程技术网

R:通过ddply循环一个stats::filter

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,

我试图通过一个分组变量对一些数据运行一系列不同的过滤器。例如,此代码用于跨分组变量(齿轮)生成一个过滤器(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, 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")