genDataGrp: Simulate grouped data for regression models

View source: R/genDataGrp.R

genDataGrpR Documentation

Simulate grouped data for regression models

Description

Simulate grouped data for regression models

Usage

genDataGrp(
  n,
  J,
  K = 1,
  beta,
  family = c("gaussian", "binomial"),
  J1 = ceiling(J/2),
  K1 = K,
  SNR = 1,
  signal = c("homogeneous", "heterogeneous"),
  signal.g = c("homogeneous", "heterogeneous"),
  rho = 0,
  rho.g = rho
)

Arguments

n

Sample size

J

Number of groups

K

Number of features per group

beta

Vector of regression coefficients in the generating model, or, if a scalar, the value of each nonzero regression coefficient

family

Generate y according to linear "gaussian" or logistic "binomial" model

J1

Number of nonzero groups

K1

Number of nonzero coefficients per group

SNR

Signal to noise ratio

signal

Should the groups be heterogeneous (in beta) or homogeneous?

signal.g

Should the coefficients within a group be heterogeneous or homogeneous?

rho

Correlation between groups

rho.g

Correlation between parameters within a group

Examples

Data <- genDataGrp(100, 10, 5, J1=3, K1=2)
dim(Data$X)
head(Data$y)
Data$beta
Data$group

genDataGrp(100, 3, 3, J1=2, K1=2)$beta
genDataGrp(100, 3, 3, J1=2, K1=2, SNR=2)$beta
genDataGrp(100, 3, 3, J1=2, K1=2, SNR=2, rho=0.8)$beta
genDataGrp(100, 3, 3, J1=2, K1=2, SNR=2, rho=0.8, signal='het')$beta
genDataGrp(100, 3, 3, J1=2, K1=2, SNR=2, rho=0.8, signal='het', signal.g='het')$beta
genDataGrp(100, 3, 3, J1=2, K1=2, SNR=2, rho=0.8, signal='het', b=1)$beta



pbreheny/hdrm documentation built on Jan. 17, 2024, 8:53 p.m.