R 计算组方差,但不包括当前观察值

R 计算组方差,但不包括当前观察值,r,variance,R,Variance,我有一个数据帧(DF), 包括:年级和学号 我试图创建一个“Var_grade”变量,用于计算属于同一学校的所有其他行(不包括当前行)的分数方差。 我怎么能在R里做到 比如说- 我试着运行这个代码- DF<-DF %>% group_by(School)%>% mutate(Var_grade= combn(grade, (n()-1), FUN=VAR)) DF%分组人(学校)%>% 变异(Var_grade=combn(grade,(n()-1),FUN=Var)

我有一个数据帧(DF), 包括:年级和学号

我试图创建一个“Var_grade”变量,用于计算属于同一学校的所有其他行(不包括当前行)的分数方差。 我怎么能在R里做到

比如说-

我试着运行这个代码-

DF<-DF %>% group_by(School)%>%
  mutate(Var_grade= combn(grade, (n()-1),  FUN=VAR))
DF%分组人(学校)%>%
变异(Var_grade=combn(grade,(n()-1),FUN=Var))
但我收到了这个错误信息- 组1中出现错误:School=1

请尝试以下操作:

library(dplyr)

DF %>% 
  group_by(School)%>%
  mutate(Var_grade = purrr::map_dbl(row_number(), ~var(grade[-.x])))

#  School grade Var_grade
#   <int> <dbl>     <dbl>
#1      1    90     112. 
#2      1    80      12.5
#3      1    95      50  
#4      2   100     108. 
#5      2    65     225  
#6      2    70     308. 
#7      2    85     358. 
数据

DF <- data.frame(School = rep(1:2, c(3, 4)), 
                 grade = c(90, 80, 95, 100, 65, 70, 85))

DF图像不是发布数据(或代码)的好方法。您能否以
dput
格式发布样本数据?请使用
dput(DF)
的输出编辑问题。或者,如果输出的dput(head(DF,20))
太大。如果您只是将
FUN=VAR
更改为
FUN=VAR
DF <- data.frame(School = rep(1:2, c(3, 4)), 
                 grade = c(90, 80, 95, 100, 65, 70, 85))