Добавить имена фреймов данных в таблицу - PullRequest
0 голосов
/ 27 февраля 2019

Я хочу добавить имена фреймов данных в таблицу t-тестов.Вот мой пример кода:

t1 <- t.test(rnorm(100), rnorm(100)
t2 <- t.test(rnorm(100), rnorm(100, 1))
t3 <- t.test(rnorm(100), rnorm(100, 2))

Теперь я превращаю их в один фрейм данных (который затем можно распечатать в виде таблицы) с пакетами метлы и мурлыкания:

library(broom)
library(purrr)

tab <- map_df(list(t1, t2, t3), tidy)

Теперь я получаю эту таблицу:

 estimate    estimate1   estimate2  statistic      p.value parameter   conf.low  conf.high
1  0.07889713 -0.008136139 -0.08703327   0.535986 5.925840e-01  193.4152 -0.2114261  0.3692204
2 -0.84980010  0.132836627  0.98263673  -6.169076 3.913068e-09  194.2561 -1.1214809 -0.5781193
3 -1.95876967 -0.039048940  1.91972073 -13.270232 3.618929e-29  197.9963 -2.2498519 -1.6676875
               method alternative
1 Welch Two Sample t-test   two.sided
2 Welch Two Sample t-test   two.sided
3 Welch Two Sample t-test   two.sided

И, наконец, я хочу добавить имена кадров данных (t1, t2, t3) в первом столбце.Может кто-нибудь объяснить мне, как я мог это сделать?

Ответы [ 3 ]

0 голосов
/ 27 февраля 2019

Вы можете использовать ls() и простое регулярное выражение для перехвата ваших тестов, например

v1 <- ls()[grepl('^t[0-9]+', ls())]
#[1] "t1" "t2" "t3"

. Затем вы можете прикрепить v1 к вашему фрейму данных, как обычно (df$namess <- v1)

0 голосов
/ 27 февраля 2019

С именованным списком вы получите имена в результирующей таблице:

ll <- list(t1 = t1, t2 = t2, t3 = t3)
tab <-
  ll %>%
  map_df(tidy, .id = "id")
0 голосов
/ 27 февраля 2019

Сначала мы можем set_names, а затем использовать аргумент .id для добавления столбца.

set.seed(123)

t1 <- t.test(rnorm(100), rnorm(100))
t2 <- t.test(rnorm(100), rnorm(100, 1))
t3 <- t.test(rnorm(100), rnorm(100, 2))

library(broom)
library(purrr)

tab <- list(t1, t2, t3) %>%
  set_names(paste0("t", 1:3)) %>%
  map_dfr(tidy, .id = "Test")
tab
# # A tibble: 3 x 11
#   Test  estimate estimate1 estimate2 statistic  p.value parameter conf.low conf.high method          alternative
#   <chr>    <dbl>     <dbl>     <dbl>     <dbl>    <dbl>     <dbl>    <dbl>     <dbl> <chr>           <chr>      
# 1 t1       0.198    0.0904    -0.108      1.49 1.38e- 1      197.  -0.0643     0.460 Welch Two Samp~ two.sided  
# 2 t2      -0.843    0.120      0.964     -5.99 9.79e- 9      196.  -1.12      -0.566 Welch Two Samp~ two.sided  
# 3 t3      -1.85     0.106      1.96     -13.6  4.31e-30      197.  -2.12      -1.58  Welch Two Samp~ two.sided
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...