如何通过在 R 中创建额外的列(均值和标准差)来获得同一数据帧的均值和标准差结果

2024-03-06

如何通过在 R 中创建额外的列(平均值和标准差)来获得同一数据帧的平均值和标准差结果

**DATA:

     category sex day    flag    value
1        FC   M   -1          a     27.5
2        FC   M   -1          a     25.2
3        FC   M   -1          a     22.0
4        FC   M   -1          a     24.3
5        FC   M   -1          a     24.0
6        FC   M   -1          a     29.3
7        FC   M   -1          a     23.4
8        FC   M   -1          a     29.3
9        FC   M   -1          a     23.4
10       FC   M   -1          a     29.3
11       FC   M   -1          a     28.3
12       FC   M   -1          a     30.2
13       FC   M   -1          a     30.2

code


library(dplyr)
library(plyr)
library(doBy)
library(tidyverse)
data <- read.csv("users/category.csv")
print(data)


new_table <- select(data, category, sex, day, flag,value)
filtered<-filter(new_table, sex=="M", category=="FC", flag=="a", day==-1)
filtered

输出应该是:

     category sex day      flag    value    mean    Standard deviation
1        FC   M   -1          a     27.5    27.5       2.8   
2        FC   M   -1          a     25.2
3        FC   M   -1          a     22.0
4        FC   M   -1          a     24.3
5        FC   M   -1          a     24.0
6        FC   M   -1          a     29.3
7        FC   M   -1          a     23.4
8        FC   M   -1          a     29.3
9        FC   M   -1          a     23.4
10       FC   M   -1          a     29.3
11       FC   M   -1          a     28.3
12       FC   M   -1          a     30.2
13       FC   M   -1          a     30.2


你可以使用以下方法来做到这一点dplyr并将其添加到您的filter管链,但值会重复:

library(dplyr)

df %>% 
  mutate(mean = mean(value),
         `Standard deviation` = sd(value))

或者在基地R过滤后:

df$mean <- mean(df$value)
df$`Standard deviation` <- sd(df$value)

Output

   category sex day flag value     mean Standard devation
1        FC   M  -1    a  27.5 26.64615          2.987646
2        FC   M  -1    a  25.2 26.64615          2.987646
3        FC   M  -1    a  22.0 26.64615          2.987646
4        FC   M  -1    a  24.3 26.64615          2.987646
5        FC   M  -1    a  24.0 26.64615          2.987646
6        FC   M  -1    a  29.3 26.64615          2.987646
7        FC   M  -1    a  23.4 26.64615          2.987646
8        FC   M  -1    a  29.3 26.64615          2.987646
9        FC   M  -1    a  23.4 26.64615          2.987646
10       FC   M  -1    a  29.3 26.64615          2.987646
11       FC   M  -1    a  28.3 26.64615          2.987646
12       FC   M  -1    a  30.2 26.64615          2.987646
13       FC   M  -1    a  30.2 26.64615          2.987646

如果您需要向这些列添加值category, sex, flag等然后你可以使用dplyr::group_by关于这些变量before the mutate功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过在 R 中创建额外的列(均值和标准差)来获得同一数据帧的均值和标准差结果 的相关文章

随机推荐