Как я должен найти корреляцию между несколькими переменными в R? Ошибка «Стандартное отклонение равно 0

#r #statistics #correlation

#r #Статистика #корреляция

Вопрос:

Я очень новичок в R и плохо разбираюсь в статистике (не очень хорошая комбинация, я знаю). У меня есть набор данных (гены) с генами, найденными у разных видов. Это выглядит примерно так:

 genes   sp1    sp2    sp3    sp4    sp5
genea   100    100    100    100    100
geneb     0     0     8.333   0     11.11
genec   100    11.11  16.6    0     16.6
  

Числа соответствуют проценту присутствия гена для каждого вида. Я хочу знать корреляцию наличия / отсутствия генов между собой, используя эти данные. Я попытался использовать cor() и corrplot для визуализации. И corr_cross(), чтобы показать значимые корреляции:

 genes<- t(genes) #just to transpose the rowxcolumn

corr_cross(genes,  # to show top 10 couples of variables (by correlation coefficient)
           max_pvalue = 0.05, # display only significant correlations (at 5% level)
           top = 10 
)

genes <- cor(genes)
corrplot(genes, 
         type = "lower", 
         order = "AOE", 
         tl.srt = 45, 
         col = brewer.pal(n = 8, name = "RdYlGn"), 
         bg = "lightblue",
         title = "Association of virulence factors",
         mar=c(0,0,1,0))
dev.off()
  

Когда я делаю это, я получаю значения NA и предупреждающее сообщение, в котором говорится, что стандартное отклонение равно нулю. Я знаю, что это связано с некоторыми генами, которые присутствуют во всех штаммах всех видов, поэтому имеют одинаковые данные «100» для всех видов.

Как я могу пересмотреть свой код, чтобы показать связи между всеми генами даже при одинаковых значениях для некоторых столбцов? Или я должен изменить свой статистический метод?

Комментарии:

1. вы должны исключить строки с нулевым стандартным отклонением

2. Но я также хочу знать корреляцию этих значений с другими значениями?

3. невозможно узнать корреляцию одной переменной с константой

4. Корреляцию можно ОЧЕНЬ грубо представить как «насколько тесно связаны изменения в X с изменениями в Y». Итак, если X или Y никогда не меняются, у вас не может быть корреляции