R语言如何创建类似tapply的结构存储多分组样本量N
解决方案
基础实现(和你现有均值计算结构完全兼容)
你可以直接沿用tapply的逻辑,仅将统计函数替换为length即可得到结构完全一致的分组计数结果:
library(tibble) # 示例数据 data <- data_frame(group = c("A", "B", "C", "A", "B", "B", "B"),values = c(1,2,5,4,6,3,4)) # 修正原均值计算的语法错误 Mean_group <- tapply(data$values, data$group, mean, na.rm = TRUE) # 分组计数实现,支持N_of_each_group[GroupX]调用 N_of_each_group <- tapply(data$values, data$group, length)
如果需要更简洁的写法,也可以用table直接生成,调用方式完全一致:
N_of_each_group <- table(data$group)
两种方式都可以直接通过组名索引取值,比如N_of_each_group["A"]会返回A组的人数2,N_of_each_group["B"]返回B组的人数4。
Shiny场景使用示例
假设你已经通过业务逻辑拿到当前用户所属分组存储在current_user_group变量中,渲染提示文本的逻辑如下:
# 服务端代码 output$group_notice <- renderText({ paste0("你的组内共有", N_of_each_group[current_user_group], "人") }) # UI代码 textOutput("group_notice")
内容的提问来源于stack exchange,提问作者Ninke
相关产品推荐
相关产品推荐

