/ / отримати максимальні та мінімальні значення підгрупи стовпців у рамці даних в ddply в R - r, plyr

отримати максимальні та мінімальні значення підгрупи стовпців у кадрі даних у ddply в R - r, plyr

Я намагаюся вибрати максимальні та мінімальні значення групи змінних з допомогою кадру ddply з пакета plyr. Однак це, здається, не працює.

a1 = c(1, 2, 3, 4, 5)
a2 = c(6, 7, 8, 9, 10)
a3 = c(11, 12, 13, 14, 15)
f=letters[1:5]
d= data.frame(f,a1, a2, a3)

t=ddply(d,.(f), summarize,
minima=apply(f[,c(1:3)], 1, min),
maxima=apply(f[,c(1:3)], 1, min))

Дякую!

Відповіді:

1 для відповіді № 1

Цей метод dplyr виробляє хв та maxes. Вам може знадобитися переформатувати отриманий кадр даних залежно від того, що ви використовуєте для цього.

library(dplyr)


# Create dataframe
a1 = c(1, 2, 3, 4, 5)
a2 = c(6, 7, 8, 9, 10)
a3 = c(11, 12, 13, 14, 15)
f=letters[1:5]
d= data.frame(f,a1, a2, a3)

# Get min and max value for a1,a2,a3
d %>% group_by(f) %>%  summarise_at(vars(a1,a2,a3),funs(min = min(.),max = max(.)) )
#> # A tibble: 5 × 7
#>        f a1_min a2_min a3_min a1_max a2_max a3_max
#>   <fctr>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
#> 1      a      1      6     11      1      6     11
#> 2      b      2      7     12      2      7     12
#> 3      c      3      8     13      3      8     13
#> 4      d      4      9     14      4      9     14
#> 5      e      5     10     15      5     10     15