[R] Error in FastTau(formula, data = d) : unused argument(s) (data = d)

Rui Barradas ru|pb@rr@d@@ @end|ng |rom @@po@pt
Sun Mar 22 11:02:47 CET 2020


Correction:

In MSE

modmat <- model.matrix(as.formula(formula), data = d)

doesn't need as.formula, it should be

modmat <- model.matrix(formula, data = d)


Sorry,

rui Barradas

Às 09:59 de 22/03/20, Rui Barradas escreveu:
> Hello,
> 
> 1. There is no need to install package 'boot', it's a base package.
> 2. The question.
> 
> The problem is that FastTau returns an object of class "list" and there 
> is no 'predict' method for lists, you will have to define your own.
> This is easy, it's just a matrix multiply.
> And you are not calling FastTau correctly, see the function 
> documentation and the new MSE function below.
> 
> 
> 
> MSE <- function(data, indices, formula){
>    predfun <- function(object, model){
>      beta <- object[["beta"]]
>      as.vector(model %*% beta)
>    }
>    d <- data[indices, ] # allows boot to select sample
>    modmat <- model.matrix(as.formula(formula), data = d)
>    fit <- FastTau(x = modmat, y = d[["y_obs"]])
>    ypred <- predfun(fit, modmat)
>    mean((d[["y_obs"]]-ypred)^2)
> }
> 
> # Make the results reproducible
> set.seed(1234)
> # bootstrapping with 10 replications
> results <- boot(data = df, statistic = MSE,
>                  R = 10, formula = ~b+z+a)
> 
> type <- c("norm","basic", "stud", "perc", "bca")
> boot.ci(results, type = type[-5])
> 
> 
> Hope this helps,
> 
> Rui Barradas
> 
> Às 23:14 de 21/03/20, varin sacha via R-help escreveu:
>> Dear R-helpers,
>>
>> Another problem with FastTau function from the RobPer packages. Any 
>> solution to solve my problem would be highly appreciated.
>>
>>
>> # # # # # # # # # # # # # # # # # # # # # # # #
>> install.packages( "boot",dependencies=TRUE )
>> install.packages( "RobPer",dependencies=TRUE  )
>>
>> library(boot)
>> library(RobPer)
>>
>> n<-200
>> b<-runif(n, 0, 5)
>> z <- rnorm(n, 2, 3)
>> a <- runif(n, 0, 5)
>>
>> y_model<- 0.1*b - 0.5 * z - a + 10
>> y_obs <- y_model +c( rnorm(n*0.9, 0, 0.1), rnorm(n*0.1, 0, 0.5) )
>> df<-data.frame(b,z,a,y_obs)
>>
>>   # function to obtain MSE
>>   MSE <- function(data, indices, formula){
>>      d <- data[indices, ] # allows boot to select sample
>>      fit <- FastTau(formula, data = d)
>>      ypred <- predict(fit)
>>     mean((d[["y_obs"]]-ypred)^2)
>>   }
>> # Make the results reproducible
>>   set.seed(1234)
>>   # bootstrapping with 600 replications
>>   results <- boot(data = df, statistic = MSE,
>>                    R = 600, formula = model.matrix(~b+z+a))
>> str(results)
>>
>> boot.ci(results, type="bca" )
>> # # # # # # # # # # # # # # # # # # # # # # # # #
>>
>> ______________________________________________
>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide 
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
> 
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide 
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list