Как получить аккуратный вывод Excel значений P из R - PullRequest
0 голосов
/ 03 июля 2019

Как получить чистый набор данных Excel с P-значениями, которые экспортируются из R с использованием

res <- rcorr(as.matrix(df), type = c("pearson"))

Я использовал приведенный выше код для нахождения P-значений по всем переменным в моих данных.Тем не менее, я был заинтересован в экспорте этих результатов в лист Excel.Я сделал это с помощью следующего кода:

write.table(P_val, file="df.csv", sep = ",")

Выходные данные из этого листа Excel, однако данные не являются "аккуратными" в том смысле, что все данные в строках, сжатых в один и тот жеячеек, и невозможно прочитать данные, так как нет смысла в том, как данные связаны с каждой переменной в этом наборе.

Мне бы хотелось, чтобы таблицы представляли значение P длякаждая переменная во всех переменных.

Итак, что я сделал до сих пор (здесь я использую простой набор данных из R, чтобы показать, что я имею в виду):

 df <- USArrests

 res <- rcorr(as.matrix(df), type = c("pearson"))

 P_val <- res$P

 write.table(P_val, file="P_val.csv", sep = ",")

Я не совсемЯ знаю, как двигаться дальше отсюда, поэтому я надеюсь, что кто-то может мне помочь :-)

1 Ответ

3 голосов
/ 03 июля 2019

Я бы использовал broom::tidy и readr::write_csv, чтобы записать это.

library(Hmisc) # for rcorr
library(broom)
library(magrittr) # for pipes %>%
library(readr)

as.matrix(USArrests) %>% 
  rcorr(type = "pearson") %>%
  tidy() %>%
  write_csv("P_val.csv")

Результат (до write_csv):

# A tibble: 6 x 5
  column1  column2  estimate     n  p.value
  <chr>    <chr>       <dbl> <int>    <dbl>
1 Murder   Assault    0.802     50 2.60e-12
2 Murder   UrbanPop   0.0696    50 6.31e- 1
3 Assault  UrbanPop   0.259     50 6.95e- 2
4 Murder   Rape       0.564     50 2.03e- 5
5 Assault  Rape       0.665     50 1.36e- 7
6 UrbanPop Rape       0.411     50 3.00e- 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...