如何简化R中筛选特定艺术家歌曲并找播放量最高曲目的操作
简化R中筛选艺术家歌曲并找出播放量最高歌曲的实现方式
你可以借助dplyr的链式操作(%>%)来简化代码,避免重复逻辑,让流程更清晰:
优化后的完整代码
library(dplyr) # 一步完成筛选、排序并提取播放量最高的歌曲 billie_top_song <- music_data %>% filter(artistName == "Billie Eilish") %>% arrange(desc(streams)) %>% slice_head(n = 1) %>% pull(trackName) print(paste("Most Popular Song: ", billie_top_song))
如果需要保留排序后的完整艺术家歌曲数据集,可以拆分步骤:
library(dplyr) # 筛选并排序,保存完整数据集 billie_songs_ordered <- music_data %>% filter(artistName == "Billie Eilish") %>% arrange(desc(streams)) # 提取播放量最高的歌曲 billie_top_song <- billie_songs_ordered %>% slice_head(n = 1) %>% pull(trackName) print(paste("Most Popular Song: ", billie_top_song))
优化点说明
- 避免重复调用
filter(),减少冗余计算 - 链式操作让数据处理逻辑按顺序串联,可读性更强
arrange(desc(streams))替代base R的order(),语法更直观slice_head(n=1)直接获取排序后的首行,比head()语义更明确pull()直接提取目标列的单个值,无需额外索引操作
内容的提问来源于stack exchange,提问作者Ana
相关产品推荐
相关产品推荐

