Как поделить число на стандартное отклонение своей группы уважения - PullRequest
0 голосов
/ 19 мая 2019

Привет, предположим, у меня есть датафрейм как таковой,

g1 = data.frame ( 
    gene = c( "a","a","a","a","b","b"),
    value = c(1,200,3,5,0,3)
)
> g1
  gene value
1    a     1
2    a   200
3    a     3
4    a     5
5    b     0
6    b     3

используя ddply, я могу генерировать описательные значения для каждой из групп.

ddply(g1, c("gene"), summarise,
      N    = length(value),
      mean = mean(value),
      sd   = sd(value),
      se   = sd / sqrt(N)
)
  gene N  mean       sd       se
1    a 4 52.25 98.51354 49.25677
2    b 2  1.50  2.12132  1.50000

Однако есть ли способ, которым я могу разделить каждое число в строке по его уважаемому SD? Таким образом, пример выше первой строки будет 1 / 98,5

спасибо!

1 Ответ

0 голосов
/ 19 мая 2019
> g2<-group_by(g1,gene) %>% mutate(zscore = (value - mean(value))/sd(value))
> g2
# A tibble: 6 x 3
# Groups:   gene [2]
  gene  value zscore
  <fct> <dbl>  <dbl>
1 a         1 -0.520
2 a       200  1.50 
3 a         3 -0.500
4 a         5 -0.480
5 b         0 -0.707
6 b         3  0.707

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

...