0
私はこの関数をビルドしようとしています。しかし、なぜ私はそれを呼び出すときに関数の出力が表示されませんわからない。私はそれを使用する場合関数の値を返し、NULLを取得します。
df = data.frame(matrix(rnorm(100), nrow=10))
Criterio<-rep('+',7)
modtop<-function(Tpropio,Criterio){
suma<- apply(Tpropio,2,sum)
P<-sweep(Tpropio, 2, suma, `/`)
maximo<-apply(P,2,max)
minimo<-apply(P,2,min)
desviacion<-apply(P,2,sd)
W<-desviacion/sum(desviacion)
ncriterios<-length(suma)
ideal<-vector(mode="numeric",length=ncriterios)
nadir<-vector(mode="numeric",length=ncriterios)
for(i in 1:ncriterios){
if(Criterio[i]=='+'){
ideal[i]=maximo[i]
nadir[i]=minimo[i]
}else{
ideal[i]=minimo[i]
nadir[i]=maximo[i]
}
}
}
dipos<-matrix(data=NA,ncol=ncriterios,nrow=dim(P)[1])
for(i in 1:ncriterios){
dipos[,i]<-(P[,i]-ideal[i])^2*W[i]
}
dipos<-apply(dipos,1,sum)
dipos<-sqrt(dipos)
dineg<-matrix(data=NA,ncol=ncriterios,nrow=dim(P)[1])
for(i in 1:ncriterios){
dineg[,i]<-(P[,i]-nadir[i])^2*W[i]
}
dineg<-apply(dineg,1,sum)
dineg<-sqrt(dineg)
T<-dineg+dipos
T<-dineg/T
resulT<-data.frame(T)
row.names(resulT)<-row.names(Tpropio)
return(resulT)
}
機能を定義した後、私はNULLであることを持っているが、私はなぜ理解していない: これは私が作成する機能です。ご協力いただきありがとうございます。わかりやすい質問を書くことを願っております。D