Мне нужно написать функцию, которая содержит три аргумента: dat - имя фрейма данных, mainVar - вектор символов, используемый для вычисления корреляции между 3-ей переменной, и varlist - вектор символов, который содержит одно или несколько значений.
Функция вернет фрейм данных, который содержит коэффициент корреляции и соответствующий
р-значение между каждой парой.
Пример того, чего я хочу достичь:
myCortest (chol, "wt", "age")
var1 var2 R p
age wt age 0.6660014 5.631448e-26
Что у меня так далеко:
myCortest <- function(dat, mainVar, varlist){
result <- data.frame()
for (i in 1:length(mainVar)){
foo <- cor.test(dat$mainvar, dat$varlist)
r <- data.frame(Varname = mainVar[i],
R <- as.vector(foo$estimate[1]),
P <- foo$p.value)
result <- rbind(result, r)
}
return(result)
}
Мой код не запускается, поэтому я знаю, что делаю что-то не так. Как мне достичь желаемого результата?