首页 > 解决方案 > 在 r 中进一步设置子集值

问题描述

我无法为这个问题列出 5 种类型的所有歌曲。我已经缩小了前 5 种类型的范围,现在我在试图找到其中的所有歌曲时遇到了问题。

spotify%>%
  group_by(ï..genre)%>%
  summarise(Mean0 = mean(popularity))%>%
  arrange(Mean0,desc())%>%
  top_n(5)%>%
  select(ï..genre)

不确定是否有更简单的方法来解决这个问题。

该问题要求通过选择具有前五种最流行流派的所有曲目来创建 Spotify 数据的子集。将子集称为spotify_s并打印tibble spotify_s

变量包括

ï..genre,
artist_name,
track_name,
track_id,
popularity,
acousticness,
danceability,
duration_ms,
energy,
instrumentalness,
key,
liveness,
loudness,
mode,
speechiness,
tempo,
time_signature,
valence

如果需要,我可以提供更多信息

标签: rdplyr

解决方案


尝试以下操作:

library(dplyr)

spotify_s <- spotify %>%
               group_by(ï..genre) %>%
               summarise(Mean0 = mean(popularity)) %>%
               top_n(5, Mean0) %>%
               select(ï..genre) %>%
               left_join(spotify, by = 'ï..genre')

根据平均受欢迎程度选择前 5 个类型,left_join然后使用我们保留这 5 个类型的所有行。


推荐阅读