一般化平均

# 複素数にも対応している
my.mean <- function(x,p){
	(sum(x^p)/length(x))^(1/p)
}
# 実数列は複素数列に直す
x <- rnorm(1000,0,1)
x <- complex(real=x,imaginary=rep(0,length(x)))

ps <- seq(from=-10,to=10,length=1000)
y <- rep(0,length(ps))
for(i in 1:length(y)){
	y[i] <- my.mean(x,ps[i])
}
# 複素平面上に打点
plot(y,type="l")
# 係数pも考慮して複素平面x係数の3次元に打点
library(rgl)
plot3d(cbind(ps,Re(y),Im(y)))