long2symmatrix: long2symmatrix

Description Usage Arguments Details Value Author(s) Examples

Description

transforms long format data.frame into a symmetric matrix format data.frame

Usage

1
2
long2symmatrix ( dat , sort = FALSE , triangle = c ("both","lower","upper") ,
				 include.diagonal = TRUE , full.symmetric = FALSE )

Arguments

dat

data.frame with columns "row" , "col" , "val"

sort

sort rows and columns of matrix, can be either logical (if TRUE variables are alphatecially sorted) or a character vector that indicates order

triangle

if "lower" or "upper" only this triangle is extracted (the other is set to NA), if "both" both triangles are extracted

include.diagonal

logical, should diagonal elements be included or not

full.symmetric

if TRUE

Details

WARNING: This function has not been thoroughly tested. if sort = FALSE and triangle = "lower" matrix is sorted by occurence on dat$row if sort = FALSE and triangle = "upper" matrix is sorted by occurence on dat$col triangle = "both" implies sort = TRUE

Value

data.frame in "matrix format"

Author(s)

Martin Hecht

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
long <- data.frame (
"row" = c ( "v1" , "v2" , "v2" , "v3" , "v1" , "v3" ) , 
"col" = c ( "v1" , "v3" , "v2" , "v1" , "v2" , "v3" ) , 
"val" = c ( 1 , 5 , 4 , 3 , 2 , 6 ) , stringsAsFactors = FALSE )		
		
long2symmatrix ( long )

long2symmatrix ( long , triangle = "lower" )
long2symmatrix ( long , triangle = "upper" )
long2symmatrix ( long , triangle = "both" )

long2symmatrix ( long , triangle = "lower" , include.diagonal = FALSE)
long2symmatrix ( long , triangle = "upper" , include.diagonal = FALSE)
long2symmatrix ( long , triangle = "both" , include.diagonal = FALSE)

long2symmatrix ( long , sort = c("v2","v3") )
long2symmatrix ( long , sort = c("v2","v3") , triangle = "lower" , include.diagonal = FALSE )

long2symmatrix ( long , full.symmetric = TRUE )
long2symmatrix ( long , full.symmetric = TRUE , triangle = "lower" )
long2symmatrix ( long , full.symmetric = TRUE , triangle = "lower" , include.diagonal = FALSE )

eatRest documentation built on May 2, 2019, 6:25 p.m.