如何在R的DataFrame中添加列统计音节的高音标记次数
解决方案
方法1:直接用dplyr一步生成目标列(推荐)
不用单独提前统计,直接在原数据上按syll分组计算,一步生成重复显示的统计列:
library(dplyr) df <- df %>% group_by(syll) %>% mutate(high_count = sum(high == 1, na.rm = TRUE)) %>% ungroup()
group_by(syll):按音节分组,确保统计范围是每个音节的所有行sum(high == 1):统计每组中high为1的总次数na.rm = TRUE:避免数据中存在NA值导致统计出错(无NA可省略)ungroup():取消分组,防止后续操作受分组状态影响
方法2:基于你已有的high_counts结果合并
如果要沿用之前生成的统计结果,可筛选出high=1的行后关联原数据:
# 从已有的统计结果中提取high=1的行,并重命名统计列 high_1_counts <- high_counts %>% filter(high == 1) %>% select(syll, high_count = n) # 左连接到原数据,确保所有原始行都保留 df <- df %>% left_join(high_1_counts, by = "syll") # 若需把无高音的音节统计值替换为0 df <- df %>% mutate(high_count = replace_na(high_count, 0))
内容的提问来源于stack exchange,提问作者Ling10218
相关产品推荐
相关产品推荐

