в R: функция для создания списка именованных чисел, заполненных из справочной таблицы и упорядоченных по другому списку - PullRequest
0 голосов
/ 22 мая 2018

Я ищу руководство для создания функции, возвращающей список именованных чисел 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"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...