Generates a list of (data-driven) targets to use in fused ridge estimation. Simply a wrapper for default.target.

default.target.fused(Slist, ns, type = "DAIE", by, ...)

Arguments

Slist

A list of length \(K\) of numeric covariance matrices of the same size for \(K\) classes.

ns

A numeric vector of sample sizes corresponding to the entries of Slist.

type

A character giving the choice of target to construct. See default.target for the available options. Default is "DAIE".

by

A character vector with the same length as Slist specifying which groups should share target. For each unique entry of by a target is constructed. If omitted, the default is to assign a unique target to each class. If not given as a character coercion into one is attempted.

...

Arguments passed to default.target.

Value

A list of \(K\) covariance target matrices of the same size.

See also

Author

Anders E. Bilgrau, Carel F.W. Peeters <carel.peeters@wur.nl>, Wessel N. van Wieringen

Examples

# Make some toy data
ns <- c(3, 4)  # Two classes with sample size 3 and 4
Slist <- createS(ns, p = 3)  # Generate two 3-dimensional covariance matrices
Slist
#> $class1
#>            A          B           C
#> A  1.9831887 0.11408228 -0.82349375
#> B  0.1140823 0.03824529  0.05061121
#> C -0.8234938 0.05061121  0.64496682
#> 
#> $class2
#>           A         B         C
#> A 0.9872563 0.2824868 0.5594460
#> B 0.2824868 0.5039087 0.2713570
#> C 0.5594460 0.2713570 0.3887738
#> 

# Different choices:
default.target.fused(Slist, ns)
#> $class1
#>         A       B       C
#> A 1.94376 0.00000 0.00000
#> B 0.00000 1.94376 0.00000
#> C 0.00000 0.00000 1.94376
#> 
#> $class2
#>          A        B        C
#> A 11.47355  0.00000  0.00000
#> B  0.00000 11.47355  0.00000
#> C  0.00000  0.00000 11.47355
#> 
default.target.fused(Slist, ns, by = seq_along(Slist)) # The same as before
#> $class1
#>         A       B       C
#> A 1.94376 0.00000 0.00000
#> B 0.00000 1.94376 0.00000
#> C 0.00000 0.00000 1.94376
#> 
#> $class2
#>          A        B        C
#> A 11.47355  0.00000  0.00000
#> B  0.00000 11.47355  0.00000
#> C  0.00000  0.00000 11.47355
#> 
default.target.fused(Slist, ns, type = "Null")
#> $class1
#>   A B C
#> A 0 0 0
#> B 0 0 0
#> C 0 0 0
#> 
#> $class2
#>   A B C
#> A 0 0 0
#> B 0 0 0
#> C 0 0 0
#> 
default.target.fused(Slist, ns, type = "DAPV")
#> $class1
#>          A        B        C
#> A 9.400572 0.000000 0.000000
#> B 0.000000 9.400572 0.000000
#> C 0.000000 0.000000 9.400572
#> 
#> $class2
#>          A        B        C
#> A 1.856528 0.000000 0.000000
#> B 0.000000 1.856528 0.000000
#> C 0.000000 0.000000 1.856528
#> 
default.target.fused(Slist, ns, type = "DAPV", by = rep(1, length(Slist)))
#> $class1
#>          A        B        C
#> A 1.999573 0.000000 0.000000
#> B 0.000000 1.999573 0.000000
#> C 0.000000 0.000000 1.999573
#> 
#> $class2
#>          A        B        C
#> A 1.999573 0.000000 0.000000
#> B 0.000000 1.999573 0.000000
#> C 0.000000 0.000000 1.999573
#> 


# Make some (more) toy data
ns <- c(3, 4, 6, 7)  # Two classes with sample size 3 and 4
Slist <- createS(ns, p = 2)  # Generate four 2-dimensional covariance matrices

# Use the same target in class 1 and 2, but another in class 3 and 4:
default.target.fused(Slist, ns, by = c("A", "A", "B", "B"))
#> $class1
#>          A        B
#> A 4.322125 0.000000
#> B 0.000000 4.322125
#> 
#> $class2
#>          A        B
#> A 4.322125 0.000000
#> B 0.000000 4.322125
#> 
#> $class3
#>        A      B
#> A 1.0573 0.0000
#> B 0.0000 1.0573
#> 
#> $class4
#>        A      B
#> A 1.0573 0.0000
#> B 0.0000 1.0573
#>