У меня есть многовариантные данные с 3 различными группами, где d = 2, и у каждой группы есть 10 точек данных (n = 10). Я пытаюсь найти
для каждой группы, поэтому конечный результат будет 3 вектора размера 2. Однако, когда я пытаюсь сделать это (код ниже),
## data ##
d <- 2
n<-c(10,10,10)
mu1=rep(1,d)
mu2=rep(1,d)
mu3=rep(1,d)
sigma <- matrix(c(1.0, 0,
0, 1.0), nrow = 2)
groups<-rep(1:3, n)
x1=mvrnorm(n[1], mu1,sigma)
x2=mvrnorm(n[2], mu2,sigma)
x3=mvrnorm(n[3], mu3,sigma)
x=rbind(x1,x2,x3)
K <- function(x){
I=length(unique(groups))
Kij <- matrix(,n[i],d)
for (i in 1:I){
for (j in 1:n[i]){
Kij<- x[j,]-x[-j,]
return (as.matrix(sum(Kij[groups==i],n[i],d)))
}
}
}
Я продолжаю получать 1 число в качестве выхода вместо вектора 2 выходов для каждой группы. Любое предложение?
Заранее спасибо