diff --git a/DESCRIPTION b/DESCRIPTION index 9ad4bdaf2181c6b61967f5d79304ad308e905eab..3df33c31360eba0908f6952772bee87441b4dc10 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -3,7 +3,7 @@ LazyData: true Package: vocaldia Type: Package Title: Create and Manipulate Vocalisation Diagrams -Version: 0.8.1 +Version: 0.8.2 Date: 2017-04-03 Authors@R: person("Saturnino", "Luz", email = "luzs@acm.org", role = c("aut", "cre")) Description: Create adjacency matrices of vocalisation graphs from diff --git a/R/markov.R b/R/markov.R index 7dc0e606e3425a893cf9140be40fe44505c7644b..9948dc86fbbe7f391474d947a5aee2ea83d3f776 100644 --- a/R/markov.R +++ b/R/markov.R @@ -317,12 +317,12 @@ identifyPauses <- function(vocvector){ ##' ##' E.g (speakers A, B, C): ##' \preformatted{ -##' AAAAAAAABBBBBBBCCCCCBBBBBPauseBBBBSwitchingPauseAAAAAGrpVocalisation +##' AAAAAAAABBBBBBBCCCCCBBBBBPauseBBBBSwitchingPauseAAAAAGrp ##' ^ ^ ^ ^ ^ ^ ##' | | | | | | -##' | | | ---------------- Non-SwitchingVocalisation's +##' | | | ----------- Non-SwitchingVocalisation ##' | | | -##' ---------------------> SwitchingVocalisation's +##' ---------------------> SwitchingVocalisation ##' } ##' ##' @title identifyVocalisations: replace appropriate vocalisation @@ -417,23 +417,21 @@ getEntropy <- function (distribution){ ##' Plot a vocalisation diagram ##' @title plot.vocaldia ##' @param x a vocalisation diagram -##' @param package the package to be used for ploting (igraph -##' (default) or Rgraphviz) ##' @param ... arguments for the layout algorithm ##' @return \code{NULL} ##' @examples ##' data(vocdia) -##' require('igraph') -##' plot(getSampledVocalMatrix(subset(atddia, id=='Abbott_Maddock_01'), +##' if (require('igraph')) +##' plot(getSampledVocalMatrix(subset(atddia, id=='Abbott_Maddock_01'), ##' individual=TRUE, nodecolumn='speaker')) ##' @export -plot.vocaldia <- function(x, ..., package='igraph'){ - vd <- x - if (requireNamespace("igraph", quietly = TRUE)){ - ## require('igraph') - g <- igraph.vocaldia(vd) - plot(g, layout=igraph::layout.fruchterman.reingold(g), ...) - return(g) +plot.vocaldia <- function(x, ...){ + x + if (requireNamespace('igraph', quietly = TRUE)){ + ## require('igraph') + g <- igraph.vocaldia(x) + plot(g, layout=igraph::layout.fruchterman.reingold(g), ...) + return(g) } ##if (requireNamespace("Rgraphviz", quietly = TRUE)){ ## cat('Rgraphviz support under construction. PLease use igraph instead') @@ -449,7 +447,7 @@ plot.vocaldia <- function(x, ..., package='igraph'){ ## plot(g, edgeAttrs=ea, attrs=at, ...) ## return(g) ##} - warning(paste('Package ',package, ' not supported. Try igraph.')) + warning(paste('Package igraph not installed. Try installing igraph or "require(igraph)" if installed.')) } @@ -462,16 +460,22 @@ plot.vocaldia <- function(x, ..., package='igraph'){ ##' @return an igraph ##' @examples ##' data(vocdia) -##' igraph.vocaldia(getSampledVocalMatrix(subset(atddia, id=='Abbott_Maddock_01'), +##' if (require('igraph')) +##' igraph.vocaldia(getSampledVocalMatrix(subset(atddia, +##' id=='Abbott_Maddock_01'), ##' individual=TRUE, nodecolumn='speaker')) ##' @export igraph.vocaldia <- function(vd, ...){ - g <- igraph::graph.adjacency(vd$ttarray, weighted=T) - igraph::V(g)$label <- names(vd$ttarray[1,]) - igraph::E(g)$label <- round(igraph::E(g)$weight,digits=3) - igraph::V(g)$size <- 25*exp(vd$tdarray) - g$layout <- igraph::layout.kamada.kawai(g) - g + if (requireNamespace('igraph', quietly = TRUE)){ + g <- igraph::graph.adjacency(vd$ttarray, weighted=T) + igraph::V(g)$label <- names(vd$ttarray[1,]) + igraph::E(g)$label <- round(igraph::E(g)$weight,digits=3) + igraph::V(g)$size <- 25*exp(vd$tdarray) + g$layout <- igraph::layout.kamada.kawai(g) + return(g) + } + else + warning(paste('Package igraph not supported. Try installing igraph or "require(igraph)" if installed.')) } ## ##' Create a graphNEL vocalisation diagram @@ -501,9 +505,10 @@ igraph.vocaldia <- function(vd, ...){ ##' @return \code{NULL} ##' @examples ##' data(vocdia) -##' write.vocaldia(getSampledVocalMatrix(subset(atddia, id=='Abbott_Maddock_01'), -##' individual=TRUE, nodecolumn='speaker'), -##' file=tempfile(pattern='vocaldia-', fileext='.dot') ) +##' write.vocaldia(getSampledVocalMatrix(subset(atddia, +##' id=='Abbott_Maddock_01'), +##' individual=TRUE, nodecolumn='speaker'), +##' file=tempfile(pattern='vocaldia-', fileext='.dot')) ##' @export write.vocaldia <- function(vd, file="", ...){ o <- toDotNotation(vd, ...) @@ -528,12 +533,15 @@ write.vocaldia <- function(vd, file="", ...){ ##' @return character data containing the diagram in dot format. ##' @examples ##' data(vocdia) -##' toDotNotation(getSampledVocalMatrix(subset(atddia, id=='Abbott_Maddock_01'), -##' individual=TRUE, nodecolumn='speaker')) +##' toDotNotation(getSampledVocalMatrix(subset(atddia, +##' id=='Abbott_Maddock_01'), +##' individual=TRUE, nodecolumn='speaker')) ##' @seealso graphviz manual ##' @export -toDotNotation <- function(vd, individual=T, varsizenode=T, shape='circle', - fontsize=16, rankdir='LR', nodeattribs='fixedsize=true;', +toDotNotation <- function(vd, individual=T, varsizenode=T, + shape='circle', + fontsize=16, rankdir='LR', + nodeattribs='fixedsize=true;', comment="") { head <- paste("## diagram generated by vocalgraphs.r\n## ", comment, diff --git a/R/vocalgraphs.R b/R/vocalgraphs.R index a8f294ad948c9c8f9ca64edf27e7356c9b9d5973..3e7a633d5d6aac21312976aef767b4b77208809a 100644 --- a/R/vocalgraphs.R +++ b/R/vocalgraphs.R @@ -421,7 +421,8 @@ getTurnTakingProbMatrix <- function(df, individual=FALSE, ...) ##' getTurnTakingMatrix(x) ##' getTurnTakingMatrix(x, individual=TRUE) ##' @export -getTurnTakingMatrix <- function(df, begin='begin', end='end', nodecolumn='role', +getTurnTakingMatrix <- function(df, begin='begin', end='end', + nodecolumn='role', individual=FALSE, noPauseTypes=FALSE) { ##df <- subset(df, df$id %in% ids) diff --git a/man/identifyVocalisations.Rd b/man/identifyVocalisations.Rd index 87e303876f42d1ecb7aa5953018f6d1d1e0c588c..e60a8362835aa244f777e0db8a7206af63b654f5 100644 --- a/man/identifyVocalisations.Rd +++ b/man/identifyVocalisations.Rd @@ -28,12 +28,12 @@ speaker (as opposed to speaker to Grp or speaker to Pause). E.g (speakers A, B, C): \preformatted{ -AAAAAAAABBBBBBBCCCCCBBBBBPauseBBBBSwitchingPauseAAAAAGrpVocalisation +AAAAAAAABBBBBBBCCCCCBBBBBPauseBBBBSwitchingPauseAAAAAGrp ^ ^ ^ ^ ^ ^ | | | | | | - | | | ---------------- Non-SwitchingVocalisation's + | | | ----------- Non-SwitchingVocalisation | | | - ---------------------> SwitchingVocalisation's + ---------------------> SwitchingVocalisation } } \examples{ diff --git a/man/igraph.vocaldia.Rd b/man/igraph.vocaldia.Rd index 0f31590f450429ad8ae3dfffb456d41ac3be2260..e0e0af10561cb1cc23a32f0cc838cdf8a2f7e26a 100644 --- a/man/igraph.vocaldia.Rd +++ b/man/igraph.vocaldia.Rd @@ -22,6 +22,8 @@ Create a vocalisation diagram } \examples{ data(vocdia) -igraph.vocaldia(getSampledVocalMatrix(subset(atddia, id=='Abbott_Maddock_01'), +if (require('igraph')) + igraph.vocaldia(getSampledVocalMatrix(subset(atddia, + id=='Abbott_Maddock_01'), individual=TRUE, nodecolumn='speaker')) } diff --git a/man/plot.vocaldia.Rd b/man/plot.vocaldia.Rd index ad47186af254c7f1b1ce829e50c005964a6093ad..d3b7ba097a1671a04b74d0c58ee9ea2f0633fe57 100644 --- a/man/plot.vocaldia.Rd +++ b/man/plot.vocaldia.Rd @@ -4,15 +4,12 @@ \alias{plot.vocaldia} \title{plot.vocaldia} \usage{ -\method{plot}{vocaldia}(x, ..., package = "igraph") +\method{plot}{vocaldia}(x, ...) } \arguments{ \item{x}{a vocalisation diagram} \item{...}{arguments for the layout algorithm} - -\item{package}{the package to be used for ploting (igraph -(default) or Rgraphviz)} } \value{ \code{NULL} @@ -25,7 +22,7 @@ Plot a vocalisation diagram } \examples{ data(vocdia) -require('igraph') -plot(getSampledVocalMatrix(subset(atddia, id=='Abbott_Maddock_01'), +if (require('igraph')) + plot(getSampledVocalMatrix(subset(atddia, id=='Abbott_Maddock_01'), individual=TRUE, nodecolumn='speaker')) } diff --git a/man/toDotNotation.Rd b/man/toDotNotation.Rd index c21731e1dc569cd9d49b8333e88440ed4ade38cd..f44d87ccaddd0c0a1b7711789c21275b72494a14 100644 --- a/man/toDotNotation.Rd +++ b/man/toDotNotation.Rd @@ -36,8 +36,9 @@ Create a vocalisation diagram in dot notation } \examples{ data(vocdia) -toDotNotation(getSampledVocalMatrix(subset(atddia, id=='Abbott_Maddock_01'), - individual=TRUE, nodecolumn='speaker')) +toDotNotation(getSampledVocalMatrix(subset(atddia, + id=='Abbott_Maddock_01'), + individual=TRUE, nodecolumn='speaker')) } \seealso{ graphviz manual diff --git a/man/write.vocaldia.Rd b/man/write.vocaldia.Rd index 4f0c059ca4f635ca4cff267a3cc7940cec630c9d..f548b6e9c78c48cd5a35f4c95f5731791834201f 100644 --- a/man/write.vocaldia.Rd +++ b/man/write.vocaldia.Rd @@ -24,7 +24,8 @@ Write a vocalisation diagram } \examples{ data(vocdia) -write.vocaldia(getSampledVocalMatrix(subset(atddia, id=='Abbott_Maddock_01'), - individual=TRUE, nodecolumn='speaker'), - file=tempfile(pattern='vocaldia-', fileext='.dot') ) +write.vocaldia(getSampledVocalMatrix(subset(atddia, + id=='Abbott_Maddock_01'), + individual=TRUE, nodecolumn='speaker'), + file=tempfile(pattern='vocaldia-', fileext='.dot')) }