R/getDS.R In steepness: Testing Steepness of Dominance Hierarchies

Documented in getDS

```# Function to obtain the David's scores (DS) based on dyadic dominance indices #

getDS <- function(X,names=NULL,method=c("Dij","Pij")){
if (nrow(X) != ncol(X))
return("Error: Sociomatrix must be square")
if ( sum(is.na(X))>0 || !is.numeric(X))
return("Error: Sociomatrix must be numeric")
method <- match.arg(method)
if (method == "Dij"){
Dij <- array(dim=c(nrow(X),ncol(X)),0.)
Dij[is.nan(Dij)] <- 0.
w1 <- rowSums(Dij)
w2 <- Dij%*%w1
l1 <-colSums(Dij)
l2 <- t(l1)%*%Dij
}
if (method == "Pij"){
Pij <- array(dim=c(nrow(X),ncol(X)),0.)
Pij[is.nan(Pij)] <- 0.
w1 <- rowSums(Pij)
w2 <- Pij%*%w1
l1 <-colSums(Pij)
l2 <- t(l1)%*%Pij
}
DS <- w1 + w2 - l1 - t(l2);
if (is.null(names)) names <- paste('Ind.',1:nrow(X))
DS <- array(DS,dim=c(nrow(X),1),dimnames=c(list(names),"David's Scores"))
return(DS)
}
```

Try the steepness package in your browser

Any scripts or data that you put into this service are public.

steepness documentation built on May 6, 2022, 9:07 a.m.