Как рассчитать значение p.value каждого столбца в кадре данных со значениями NA, используя shapiro.test в r? - PullRequest
0 голосов
/ 27 февраля 2020

Это то, что я пробовал до сих пор. Это работает, но это только говорит мне p.value данных, которые не имеют NA. Большая часть моих данных имеет значения NA в некоторых местах, вплоть до 1/3 данных.

normal <- apply(cor_phys, 2, function(x) shapiro.test(x)$p.value)

Я хочу попробовать добавить na.rm в функцию, но она не работает. Помощь

1 Ответ

0 голосов
/ 02 марта 2020
#calculate the correlations between all variables
corres <- cor_phys %>%                  #cor_phys is my data
  as.matrix %>%
  cor(use="complete.obs") %>%           #complete.obs does not use NA
  as.data.frame %>%
  rownames_to_column(var = 'var1') %>%
  gather(var2, value, -var1)

#removes duplicates correlations
corres <- corres %>%
  mutate(var_order = paste(var1, var2) %>%
         strsplit(split = ' ') %>%
         map_chr( ~ sort(.x) %>% 
         paste(collapse = ' '))) %>%
  mutate(cnt = 1) %>%
  group_by(var_order) %>%
  mutate(cumsum = cumsum(cnt)) %>%
  filter(cumsum != 2) %>%
  ungroup %>%
  select(-var_order, -cnt, -cumsum)        #removes unneeded columns

Я не писал это сам, но это ответ, который я использовал и работал для своих нужд. Ссылка на страницу, которую я использовал: Как вычислить корреляции между всеми столбцами в R и обнаружить сильно коррелированные переменные

...