如何用R把这个公式表达出来啊,挣扎好几天了!

有一串数据,降序排列,且分别赋值为X(1)》X(2)》·》X(n)共n个数据,用X(i)和X(j)表示,i=1:n,j=2:n。首先要求是X(i)>X(j),总公式手打不出来,只能细分。当j=2时,e(2)=[X(1)-(2)]/[X(i)>X(j)的个数];当j=3时,e(3)=([X(1)-(3)]+[X(2)-X(3)])/[X(i)>X(j)的个数];以此类推,当j=n时。求解如何用R语言来实现这个循环啊!

基于Monster 组和GPT的调写:

# 假设你已经有了一个降序排列的数据向量 x
x <- c(10, 8, 7, 6, 4)

# 计算每个 e(j)
n <- length(x)
e <- numeric(n-1)
for (j in 2:n) {
  e[j-1] <- sum(x[1:j-1]) - j
  e[j-1] <- e[j-1] + sum(x[j:n] - x[j])
  e[j-1] <- e[j-1] / sum(x[1:n] > x[j])
}

# 输出结果
e