R 中的聚合函数
Aggregation function in R
我有一个 table 看起来像下面的东西
Supplier Reliability
A Pass
A Fail
A Fail
B Pass
B Pass
A Pass
我想计算两个供应商的合格值百分比。类似于 SQL 中分组依据和大小写的组合,我需要使用聚合函数。使用聚合创建自定义函数也将是 acceptable.
我完全被难住了。
我能想到的就是
Supplier <- c('A','A','A','B','B','A')
Reliability<-c('Pass','Fail','Fail','Pass','Pass','Pass')
df<- data.frame(Supplier,Reliability)
agg<-aggregation(Reliability ~ GlassSupplier, data = df, FUN = length)
我想创建一个如下所示的 table。任何帮助将不胜感激。
Supplier Pass%
A XX%
B XX%
如果dplyr
可用,您可以试试
library(dplyr)
df %>%
group_by(Supplier) %>%
summarise(Pass = mean(Reliability == "Pass"))
Supplier Pass
<chr> <dbl>
1 A 0.5
2 B 1
对于百分比格式结果,使用scales::percent
df %>%
group_by(Supplier) %>%
summarise(Pass = scales::percent(mean(Reliability == "Pass")))
Supplier Pass
<chr> <chr>
1 A 50%
2 B 100%
我有一个 table 看起来像下面的东西
Supplier Reliability
A Pass
A Fail
A Fail
B Pass
B Pass
A Pass
我想计算两个供应商的合格值百分比。类似于 SQL 中分组依据和大小写的组合,我需要使用聚合函数。使用聚合创建自定义函数也将是 acceptable.
我完全被难住了。 我能想到的就是
Supplier <- c('A','A','A','B','B','A')
Reliability<-c('Pass','Fail','Fail','Pass','Pass','Pass')
df<- data.frame(Supplier,Reliability)
agg<-aggregation(Reliability ~ GlassSupplier, data = df, FUN = length)
我想创建一个如下所示的 table。任何帮助将不胜感激。
Supplier Pass%
A XX%
B XX%
如果dplyr
可用,您可以试试
library(dplyr)
df %>%
group_by(Supplier) %>%
summarise(Pass = mean(Reliability == "Pass"))
Supplier Pass
<chr> <dbl>
1 A 0.5
2 B 1
对于百分比格式结果,使用scales::percent
df %>%
group_by(Supplier) %>%
summarise(Pass = scales::percent(mean(Reliability == "Pass")))
Supplier Pass
<chr> <chr>
1 A 50%
2 B 100%