У меня есть набор данных "res.sav", который я прочитал через гавань.Он содержит 20 столбцов, которые называются «Genes1_Acc4», «Genes2_Acc4» и т. Д. Я пытаюсь найти коэффициент корреляции между ними и другим столбцом, который называется «Условие».Я хочу отдельно перечислить все коэффициенты.
Я создал две функции, cor.condition.cols и cor.func, чтобы сделать это.Первый перебирает имена файлов и работает просто отлично.Второй должен был дать мне мои корреляции, которые не работали вообще.Я также создал новое "cor.condition.Genes", которое я хотел бы заполнить корреляциями, в идеале в виде матрицы или фрейма данных.
Я попытался перебрать столбцы с двумя функциями.Однако, когда я пытаюсь передать его, я получаю сообщение об ошибке: «NA введены путем преобразования».Это не был бы конец света (я попытался также подавить предупреждение ()).Но большая проблема, с которой я столкнулся, заключается в том, что моя функция не преобразует указанные столбцы в числовой тип, необходимый для функции cor ().Я получаю сообщение об ошибке «y должно быть числовым» при попытке запустить функцию cor ().Я попытался поместить несколько аргументов внутри и без '' или "', но безуспешно.
Когда я запускаю str (cor.condition.cols), я получаю только строки символов, что заставляет меня думать, что моя функция как-то не работаетс функцией as.numeric.Любые предложения о том, как еще я мог бы пройти через эти столбцы и передать их?
Спасибо, ребята :)
cor.condition.cols <- lapply(1:20, function(x){paste0("res$Genes", x, "_Acc4")})
#save acc_4 columns as numeric columns and calculate correlations
res <- (as.numeric("cor.condition.cols"))
cor.func <- function(x){
cor(res$Condition, x, use="complete.obs", method="pearson")
}
cor.condition.Genes <- cor.func(cor.condition.cols)