# as.directed

From igraph v1.0.0
by Gabor Csardi

##### Convert between directed and undirected graphs

`as.directed`

converts an undirected graph to directed,
`as.undirected`

does the opposite, it converts a directed graph to
undirected.

- Keywords
- graphs

##### Usage

`as.directed(graph, mode = c("mutual", "arbitrary"))`as.undirected(graph, mode = c("collapse", "each", "mutual"),
edge.attr.comb = igraph_opt("edge.attr.comb"))

##### Arguments

- graph
- The graph to convert.
- mode
- Character constant, defines the conversion algorithm. For
`as.directed`

it can be`mutual`

or`arbitrary`

. For`as.undirected`

it can be`each`

,`collapse`

or`mutual`

. See detai - edge.attr.comb
- Specifies what to do with edge attributes, if
`mode="collapse"`

or`mode="mutual"`

. In these cases many edges might be mapped to a single one in the new graph, and their attributes are combined. Please see

##### Details

Conversion algorithms for `as.directed`

: [object Object],[object Object]

Conversion algorithms for `as.undirected`

: [object Object],[object Object],[object Object]

##### Value

- A new graph object.

##### See Also

`simplify`

for removing multiple and/or loop edges from
a graph.

##### Examples

```
g <- make_ring(10)
as.directed(g, "mutual")
g2 <- make_star(10)
as.undirected(g)
# Combining edge attributes
g3 <- make_ring(10, directed=TRUE, mutual=TRUE)
E(g3)$weight <- seq_len(ecount(g3))
ug3 <- as.undirected(g3)
print(ug3, e=TRUE)
x11(width=10, height=5)
layout(rbind(1:2))
plot( g3, layout=layout_in_circle, edge.label=E(g3)$weight)
plot(ug3, layout=layout_in_circle, edge.label=E(ug3)$weight)
g4 <- graph(c(1,2, 3,2,3,4,3,4, 5,4,5,4,
6,7, 7,6,7,8,7,8, 8,7,8,9,8,9,
9,8,9,8,9,9, 10,10,10,10))
E(g4)$weight <- seq_len(ecount(g4))
ug4 <- as.undirected(g4, mode="mutual",
edge.attr.comb=list(weight=length))
print(ug4, e=TRUE)
```

*Documentation reproduced from package igraph, version 1.0.0, License: GPL (>= 2)*

### Community examples

Looks like there are no examples yet.