在R中按列表元素长度重复对应颜色生成新颜色向量
R语言实现方案
1. 声明已有变量
# 颜色向量 list_color <- c("#8bf6f8", "#ac807d") # 物种分组命名列表 species_group <- list( Homo_sapiens = "G1", Mus_musclus = c("G2", "G3", "G4", "G5") )
2. 核心代码实现
用R基础函数即可快速实现需求:
# 计算列表每个元素的长度 group_lengths <- lengths(species_group) # 按长度重复对应颜色 new_list_color <- rep(list_color, times = group_lengths)
逻辑说明
lengths()会直接返回列表中每一个子元素的长度,无需循环遍历,执行效率更高rep()的times参数传入长度向量后,会按顺序对应重复list_color的每个值,刚好匹配需求的生成规则
3. 输出结果验证
打印new_list_color得到的结果如下,和预期完全一致:
print(new_list_color) # 输出:[1] "#8bf6f8" "#ac807d" "#ac807d" "#ac807d" "#ac807d"
内容的提问来源于stack exchange,提问作者chippycentra
相关产品推荐
相关产品推荐

