问题描述
我有一个如下所示的数据框:
I have a data frame that looks like this:
#df
ID DRUG FED AUC0t Tmax Cmax
1 1 0 100 5 20
2 1 1 200 6 25
3 0 1 NA 2 30
4 0 0 150 6 65
以此类推.我想通过药物 DRUG
和 FED STATUS FED
总结一些关于 AUC、Tmax 和 Cmax 的统计数据.我使用 dplyr.例如:对于 AUC:
Ans so on. I want to summarize some statistics on AUC, Tmax and Cmax by drug DRUG
and FED STATUS FED
. I use dplyr. For example: for the AUC:
CI90lo <- function(x) quantile(x, probs=0.05, na.rm=TRUE)
CI90hi <- function(x) quantile(x, probs=0.95, na.rm=TRUE)
summary <- df %>%
group_by(DRUG,FED) %>%
summarize(mean=mean(AUC0t, na.rm=TRUE),
low = CI90lo(AUC0t),
high= CI90hi(AUC0t),
min=min(AUC0t, na.rm=TRUE),
max=max(AUC0t,na.rm=TRUE),
sd= sd(AUC0t, na.rm=TRUE))
但是,输出没有按 DRUG 和 FED 分组.它只给出了一行包含所有未分面的 DRUG 和 FED 的统计信息.
However, the output is not grouped by DRUG and FED. It gives only one line containing the statistics of all by not faceted on DRUG and FED.
知道为什么吗?我怎样才能让它做正确的事?
Any idea why? and how can I make it do the right thing?
推荐答案
我相信你在 dplyr 之后加载了 plyr,这就是为什么你得到一个整体的总结而不是分组摘要.
I believe you've loaded plyr after dplyr, which is why you are getting an overall summary instead of a grouped summary.
这是最后加载 plyr 时发生的情况.
This is what happens with plyr loaded last.
library(dplyr)
library(plyr)
df %>%
group_by(DRUG,FED) %>%
summarize(mean=mean(AUC0t, na.rm=TRUE),
low = CI90lo(AUC0t),
high= CI90hi(AUC0t),
min=min(AUC0t, na.rm=TRUE),
max=max(AUC0t,na.rm=TRUE),
sd= sd(AUC0t, na.rm=TRUE))
mean low high min max sd
1 150 105 195 100 200 50
现在删除 plyr 并重试,您将获得分组摘要.
Now remove plyr and try again and you get the grouped summary.
detach(package:plyr)
df %>%
group_by(DRUG,FED) %>%
summarize(mean=mean(AUC0t, na.rm=TRUE),
low = CI90lo(AUC0t),
high= CI90hi(AUC0t),
min=min(AUC0t, na.rm=TRUE),
max=max(AUC0t,na.rm=TRUE),
sd= sd(AUC0t, na.rm=TRUE))
Source: local data frame [4 x 8]
Groups: DRUG
DRUG FED mean low high min max sd
1 0 0 150 150 150 150 150 NaN
2 0 1 NaN NA NA NA NA NaN
3 1 0 100 100 100 100 100 NaN
4 1 1 200 200 200 200 200 NaN
这篇关于为什么我的 dplyr group_by &总结不能正常工作?(名称与 plyr 冲突)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!