Я новичок в R. Я пытаюсь создать список из 2 функций.Первая - это функция извлечения, она берет данные и создает с ними список.Второй - процессный, он вычисляет некоторые значения, и мне нужно, чтобы они были вместе в первом списке.Как я могу это сделать ?
myfun <- function(data,number_meta) { #extraction function
OR <- data$`Odds Ratio`[data$`Identification number`==number_meta]
SE <- ((log(data$`Upper limit`) - (log(data$`Lower limit`))) / 3.92)[data$`Identification number`==number_meta]
res <- metagen(TE=log(OR),seTE=SE,sm="OR")
tableau = cbind(OR, SE)
LIST = list(tableau, res)
return(LIST)
}
myfun(data,number_meta)
number_meta = c(1:33)
i = c(1:33)
number_meta = i
LIST = list()
for (i in 1:33) {
LIST[[i]] = myfun(data, number_meta[i])
}
myfun2 <- function(LIST) { # processing function
dup_OR <- duplicated(LIST[[i]][[1]][,1])
dup_SE <- duplicated(LIST[[i]][[1]][,2])
options(scipen = 999)
Egger <- metabias(LIST[[i]][[2]], method.bias = "linreg", k.min = 1)
Begg <- metabias(LIST[[i]][[2]], method.bias = "rank", k.min = 1)
Result <- c(dup_OR,dup_SE,Egger,Begg)
return(Result)
}
myfun2(LIST)
for (i in 1:33) {
LIST[[i]] = c(LIST, list(myfun2(LIST))) ## This one is not working !
}
Я хотел бы получить окончательный список из 33 элементов, в котором я мог бы найти различные значения res, dup_OR, dup_SE, Egger, Begg.Эти значения варьируются от значений рез.Спасибо за вашу помощь
Вот мой оригинальный сценарий:
setwd("U:/Stage M2 Phame")
library(readxl)
library(meta)
data <- read_excel("Tableau_OR.xlsx")
OR <- ((data$`Odds Ratio`[data$`Identification number`==number_meta[i]]))
SE <- (((log(data$`Upper limit`) - (log(data$`Lower limit`)))/3.92)[data$`Identification
number`==number_meta[i]])
dup_OR <- duplicated(OR)
dup_SE <- duplicated(SE)
options(scipen = 999)
res <- metagen(TE=log(OR),seTE=SE,sm="OR")
Egger <- metabias(res, method.bias = "linreg", k.min = 5)
Begg <- metabias(res, method.bias = "rank", k.min = 5)
Trim <- trimfill(res)
LIST=list(dup_OR, dup_SE, Egger, Begg, Trim)
Извините за весь мой блок текста.