将频率和SD添加到R中的摘要中
我有这样一个data.frame(示例): 我想询问这些值的摘要(最小值、最大值、1stQ、3rdQ..)。 当我跑步时:将频率和SD添加到R中的摘要中,r,frequency,summary,R,Frequency,Summary,我有这样一个data.frame(示例): 我想询问这些值的摘要(最小值、最大值、1stQ、3rdQ..)。 当我跑步时: aggregate(protein~product,summary,data=DATA4, na.rm = TRUE) 我有这个 product protein.Min. protein.1st Qu. protein.Median protein.Mean protein.3rd Qu. protein.Max. aaa 6.400
aggregate(protein~product,summary,data=DATA4, na.rm = TRUE)
我有这个
product protein.Min. protein.1st Qu. protein.Median protein.Mean protein.3rd Qu. protein.Max.
aaa 6.400 14.700 15.600 15.540 16.600 22.500
bbb 6.300 9.400 10.100 10.130 10.800 15.100
ccc 23.000 24.080 24.250 24.180 24.420 25.000
但是我也希望有频率和SD。我怎么能这样问?
我试过用ddply,但我不能使它工作。(我在一些变量中有NA(蛋白质、脂肪、淀粉…)
除此之外,因为这里我只要求对蛋白质水平进行总结,我怎么能一次对所有变量(蛋白质、脂肪、淀粉等)进行总结
非常感谢!如果我想指定如何获得摘要的输出,我通常会使用
dplyr
找到更详细的解决方案,如下所示:
library(dplyr)
df <- data.frame(product = rep(letters[1:3], each=3,3),
protein = sample(10:40, 27, replace=T))
df %>% group_by(product) %>%
summarise(min = min(protein)
,max = max(protein)
,mean = mean(protein)
,sd = sd(protein)
,n = n()
,q25 = quantile(protein, .25)
,q75 = quantile(protein, .75))
库(dplyr)
df%按产品分组百分比>
总结(分钟=分钟(蛋白质)
,max=max(蛋白质)
,平均值=平均值(蛋白质)
,sd=sd(蛋白质)
,n=n()
,q25=分位数(蛋白质,.25)
,q75=分位数(蛋白质,.75))
结果:
# A tibble: 3 × 8
product min max mean sd n q25 q75
<fctr> <int> <int> <dbl> <dbl> <int> <dbl> <dbl>
1 a 16 39 24.66667 8.717798 9 17 30
2 b 24 40 31.55556 5.387743 9 26 35
3 c 13 38 26.66667 8.108637 9 22 31
#一个tible:3×8
产品最小最大平均标准偏差n q25 q75
1 a 16 39 24.66667 8.717798 9 17 30
2 b 24 40 31.55556 5.387743 9 26 35
3 c 13 38 26.66667 8.108637 9 22 31
类似于聚合(蛋白质~产品,乐趣=功能(i)c(摘要(i,na.rm=TRUE),l1=length(i),sd1=sd(i,na.rm=TRUE)),data=DATA4)?@Sotos谢谢!它起作用了,而且我无法理解代码中的任何内容..x),但你知道为什么现在的答案是这种格式吗?aaa 6.400000e+00 1.470000e+01 1.560000e+01 1.554000e+01 1.660000e+01(指数?)您可以通过使用选项(scipen=999)
@Sotos来避免科学记数法,但我应该把它放在哪里呢?代码的哪一部分?对不起/仅选项(scipen=999);聚合(……))
您可以将其应用于总结所有(funs(min,max,median,sd,n=n(),q25=分位数(,.25),q75=分位数(,.75))
是否要将其应用于原始数据中的所有类别(蛋白质,脂肪和淀粉)frame@Wietze314谢谢你的帮助!在您的情况下,我可以看到它正在工作,但当我运行该代码时,我得到了以下错误:函数列表中的错误[[i]](值):无法找到函数“groupby”,您要调用库(dplyr)
这些函数都来自该函数package@Wietze314我知道,我已经做到了。。。当我再次尝试时…同样的错误。你的包是最新的吗?也许你需要更新一下
# A tibble: 3 × 8
product min max mean sd n q25 q75
<fctr> <int> <int> <dbl> <dbl> <int> <dbl> <dbl>
1 a 16 39 24.66667 8.717798 9 17 30
2 b 24 40 31.55556 5.387743 9 26 35
3 c 13 38 26.66667 8.108637 9 22 31