如何按组计算相关性

Jef*_*son 5 r

我正在尝试运行迭代 for 循环来计算因子变量水平的相关性。我的数据集中有 32 支球队,每支球队都有 16 行数据。我想将年份与每个团队的积分关联起来。我可以一项一项地做到这一点,但想在循环方面做得更好。

correlate <- data %>%
  select(Team, Year, Points_Game) %>% 
  filter(Team == "ARI") %>% 
  select(Year, Points_Game)
Run Code Online (Sandbox Code Playgroud)

cor(correlate)

我通过以下方式创建了一个“团队”对象:

teams <- levels(data$Team)
Run Code Online (Sandbox Code Playgroud)

使用 [i] 迭代所有 32 支球队以获得每支球队年份和积分的相关性的一点帮助将会非常有帮助!

Ale*_*ndr 6

require(dplyr)

# dummy data
data = data.frame(
  Team = sapply(1:32, function(x) paste0("T", x)),
  Year = rep(c(2000:2009), 32),
  Points_Game = rnorm(320, 100, 10)
)

# find correlation of Year and Points_Game for each team
# r - correlation coefficient
correlate <- data %>%
                group_by(Team) %>% 
                summarise(r = cor(Year, Points_Game))
Run Code Online (Sandbox Code Playgroud)