Need Q2using R Extend your function so that it takes a third

Need Q2.using R.

Extend your function so that it takes a third parameter, which allows the caller to use a function other than mean() when calculating the lowerTrim. Call this argument sumFunc and give it a default value so that it operates like the original lowerTrim function. Call this revised function lowerTrim2

Check your function with the following calls:

The return values should be 8 and the summary values of 1, 5.75 10.5, 10.5, 15.2, and 20.

Previous information as follows:

Q1. Write a function called lowerTrim that takes 2 arguments: x and trimBelow. This function takes the average of those values in x that are greater than the trimBelow. Make x a required argument and supply a default value for trimBelow of negative infinity.

First create some variable to be used for testing later.

Now test your function with the following

The return values should be: 3, 3, 2, and NaN, respectively

Solution

lowerTrim= function(x,trimBelow=neg_inf,sumFunc=mean)
{
temp=0
a=as.list(args(lowerTrim))
if (grepl(a[2],\"neg_inf\") & grepl(a[3],\"summary\"))
{
  
FUN <- match.fun(sumFunc);
ans=FUN(x)
}
else if(grepl(a[2],\"neg_inf\") & !grepl(a[3],\"summary\"))
{
sum=sum(x)
FUN <- match.fun(sumFunc);
ans=FUN(sum)
}
else if(!grepl(a[2],\"neg_inf\") & grepl(a[3],\"summary\")){
temp=a[1]:tail(x,1)
sum=sum(temp)
FUN <- match.fun(sumFunc)
ans=FUN(x)
}
else if(!grepl(a[2],\"neg_inf\") & !grepl(a[3],\"summary\"))
{
temp=a[1]:tail(x,1)
sum=sum(temp)
FUN <- match.fun(sumFunc)
ans=FUN(temp)
}
return(a[3]);

}
x=lowerTrim(1:20,trimBelow=5,sumFunc=summary)
x

Need Q2.using R. Extend your function so that it takes a third parameter, which allows the caller to use a function other than mean() when calculating the lower

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site