I have a multivariate data with 3 different groups, where d=2 and each group have 10 data point (n=10). I am trying to find
for each group so the final output would be 3 vector of size 2. However, when I am trying to do this (code below),
## 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)))
}
}
}
I keep getting 1 number as an output instead of a vector of 2 outputs for each group. Any suggestion?
Thank you in advance