Я ищу руководство для создания функции, возвращающей список именованных чисел q.arg2
.Элемент q.arg2
должен содержать n элементов, где n - количество аргументов в символьном векторе factors2
.Для каждого имени в списке факторов функция должна искать в кадре данных dist2
распределение, связанное с именем.Если распределение "нормальное", функция должна вернуть именованное число list(mean=x, sd=y)
, посмотрев эти значения в dist2
.Если распределение, например, Вейбулла, функция должна вычислить параметры shape1
и shape2
для распределения Вейбулла из отдельного фрейма данных k2
, который содержит наблюдение для каждой переменной в списке, factors2
.Затем он должен вернуть именованный номер list(shape=x, scale=y)
.Наконец, порядок сортировки q.arg2
должен быть установлен с использованием объекта sort2
.
Приведенный ниже код создает элементы, на которые есть ссылки, хотя обратите внимание, что q.arg2
только для справки.Я хотел бы, чтобы функция производила вывод q.arg2
, учитывая все остальные предоставленные элементы в качестве аргументов.
#gen dist2
id<-c("a", "b", "c")
mean<-c(3, 1, 4)
sd<-c(2,7,8)
distribution<-c("weibull", "normal", "normal")
dist2<-rbind(id,mean, sd, distribution)
dist2<-as.data.frame(dist2)
dist2 <- cbind(Row.Names = rownames(dist2), dist2)
rownames(dist2) <- NULL
colnames(dist2) <- c("variable", "var1", "var2", "var3")
#gen factors2
factors <- c("var2", "var3")
#the format that q.arg2 ought to take
q.arg2<-list(list(mean=1,sd=2), list(mean=1,sd=2))
#gen data frame for calculating weibull distributions
k2<-data.frame(replicate(2,rnorm(mean=100, sd=2,300)))
colnames(k2)<-c("var1", "var2")
#fit weibull distribution
require(fitdistrplus)
fw <- fitdist(k2$var1, "weibull")
sort2<-"a,b"