NetworkAttributes: Network attributes

NetworkAttributesR Documentation

Network attributes

Description

This function creates an aspect for attributes of a network.

Usage

createNetworkAttributes(
  name,
  value,
  dataType = NULL,
  isList = NULL,
  subnetworkId = NULL
)

Arguments

name

character; key of the attribute

value

character; value of the attribute

dataType

character (optional); data type of the attribute

isList

logical (optional); a value should be considered as list

subnetworkId

integer (optional); reference to subnetwork id

Details

Networks may have describing attributes, that are defined in a key-value like manner, with the name of the attribute as key. The same attribute can also be defined for different subnetworks with different values. The values itself may differ in their data types, therefore it is necessary to provide the values as a list of the single values instead of a vector.

With isList it can be set, if a value should be considered as a list. This is of minor significance while working solely with RCX objects, unless it will be transformed to JSON. For some attributes it might be necessary that the values are encoded as lists, even if they contain only one element (or even zero elements). To force an element to be encoded correctly, this parameter can be used, for example: name="A", value=a, isList=T will be encoded in JSON as A=["a"].

Value

NetworkAttributesAspect object

See Also

updateNetworkAttributes; NodeAttributes, EdgeAttributes

Examples

## a minimal example
networkAttributes = createNetworkAttributes(
  name="A", 
  value="a"
)

## defining several properties at once
networkAttributes = createNetworkAttributes(
  name=c("A", "B"), 
  value=c("a","b")
)

## with characters and numbers mixed
networkAttributes = createNetworkAttributes(
  name=c("A","B"),
  value=list("a",3.14)
)

## force the number to be characters
networkAttributes = createNetworkAttributes(
  name=c("A","B"),
  value=list("a",3.14),
  dataType=c("character","character")
)

## with a list as input for one value
networkAttributes = createNetworkAttributes(
  name=c("A","B"),
  value=list(c("a1","a2"),
             "b")
)

## force "B" to be a list as well
networkAttributes = createNetworkAttributes(
  name=c("A","B"),
  value=list(c("a1","a2"),
             "b"),
  isList=c(TRUE,TRUE)
)

## with a subnetwork
networkAttributes = createNetworkAttributes(
  name=c("A","A"),
  value=c("a","a with subnetwork"),
  subnetworkId=c(NA,1)
)

## with all parameters
networkAttributes = createNetworkAttributes(
  name=c("A","A","B","B"),
  value=list(c("a1","a2"),
             "a with subnetwork",
             "b",
             "b with subnetwork"),
  isList=c(TRUE,FALSE,TRUE,FALSE),
  subnetworkId=c(NA,1,NA,1)
)

frankkramer-lab/RCX documentation built on Feb. 4, 2023, 5:12 p.m.