R:制作聚合函数图

时间:2017-05-10 20:06:53

标签: r

我在r中使用聚合函数计算不同时间点不同组的均值和sd

aggregate(.~ Group + Time, data = x, FUN = function(x) c(m = mean(x), n = sd(x)))

我有一个问题,这也给了我数据ID的均值和sd,所以我的结果如下:

#   Time Group ID.m ID.n result.m result.n
# 1   0   x     20.5    10.0     6.5    1.15
# 2   1   x     20.5    10.0     8.0    2.13
# 3   0   y     20.5    10.0     7.0    2.66
...

如何删除ID的均值和sd,并且我想在不同的时间(时间为x轴)为每个组制作均值和均值+ -sd的图,我该怎么做?

1 个答案:

答案 0 :(得分:1)

考虑使用 func updateRegistrationToken(registrationToken: String) { let userTokenRef = ref.child("users").child(user1uid) userTokenRef.setValue(["token": registrationToken]) } 包。加载tidyr库时会包含它。 group_by和summarize函数替换您的聚合函数。在我看来,管道功能(%>%)更容易阅读:

tidyverse

如果你想要做的就是从结果中删除列:

# Libraries
library(tidyverse)

result_table <- mydata %>%       # Specify your table
  group_by(Group, Time) %>%      # Specify your groups (two variables in your case)
  summarize(m = mean(x),         # Calculate mean for your groups
            n = sd(x))           # Calcualte sd for your groups

要制作您的情节,您可以使用result_table %>% select(Time, Group, result.n, result.m) # using tidyr or result_table[,c('Time', 'Group', 'result.n', 'result.m')] # Base R 中包含的ggplot2

tidyverse