R 无法在函数中按、表和Glot分组
我希望能够通过摘要、变量表和数据集的geom_箱线图返回group_ 可复制示例:R 无法在函数中按、表和Glot分组,r,ggplot2,functional-programming,dplyr,R,Ggplot2,Functional Programming,Dplyr,我希望能够通过摘要、变量表和数据集的geom_箱线图返回group_ 可复制示例: set.seed(100) df <- data.frame(Groups = rep(c("Group1","Group2","Group3"),times = 3), AGroup = rep(c("GroupA","GroupB","GroupC"), each = 3), Amount = sample(400:500, 9))
set.seed(100)
df <- data.frame(Groups = rep(c("Group1","Group2","Group3"),times = 3),
AGroup = rep(c("GroupA","GroupB","GroupC"), each = 3),
Amount = sample(400:500, 9))
返回以下声明的输出的功能:
fun1 <- function(var_name) {
table <- table(df$var_name)
summary_table <- df %>% group_by_(var_name) %>% summarise(mean(Amount))
plot <- ggplot(df, aes(var_name, Amount)) + geom_boxplot()
list(table, summary_table, plot) }
fun1
[[2]]
#一个tibble:3×2
分组平均数(金额)`
1组1429.6667
2组2 431.6667
3组3 453.6667
[[3]]
我在某个地方出错了。。我想。。请帮帮我实际上,我试过了而且成功了。。令人惊讶的是,小事情可以解决复杂的问题……)
check2您能提供一个?
fun1 <- function(var_name) {
table <- table(df$var_name)
summary_table <- df %>% group_by_(var_name) %>% summarise(mean(Amount))
plot <- ggplot(df, aes(var_name, Amount)) + geom_boxplot()
list(table, summary_table, plot) }
> fun1("Groups")
[[1]]
< table of extent 0 >
[[2]]
# A tibble: 3 × 2
Groups `mean(Amount)`
<fctr> <dbl>
1 Group1 429.6667
2 Group2 431.6667
3 Group3 453.6667
[[3]]
check2 <- function(var) {
colindex <- which(colnames(dm1)==var)
variable <- dm1[,colindex] %>% unlist() %>% as.factor()
table <- table(dm1[,colindex])
summarise_amount <- dm1 %>% group_by_(.dots = var) %>% summarise(mean(AmountSpent))
plot <- ggplot(dm1, aes(x = variable,y = AmountSpent)) + geom_boxplot()
list(table, summarise_amount, plot)
}
> with(dm1, check2("OwnHome"))
[[1]]
Own Rent
516 484
[[2]]
# A tibble: 2 × 2
OwnHome `mean(AmountSpent)`
<fctr> <dbl>
1 Own 1543.1357
2 Rent 868.8264
[[3]]