繁体   English   中英

使用R生成右删失的Copula数据

[英]Generating Right Censored Copula Data using R

我正在使用以下代码来生成正确的审查生存数据。 但是,每当我运行此代码时,都会出现错误,并且我无法打印数据框,因为R表示“没有找到'dat'对象”。

我不知道这是什么问题,请帮我解决这个问题!

代码如下:

    library(methods)
    library(copula)
    library(muhaz)
    library(foreach)
    library(survival)
    library (MASS)

tau = 0.2
nsample = 100
err_dist = "Normal"
generate.dat <- function(tau,nsample,err_dist)
  {
  C <- rexp(nsample, rate = 0.8) # Censoring

  cc <- claytonCopula(copClayton@iTau(tau))
  u <- rCopula(nsample, cc)

  e <- qnorm(u,mean=0,sd=1) # Error term

  b1 <- 0.5 ; b2 <- 0.2  # using the old betas 
  beta <- matrix(c(b1, 0, 0, b2), 2) # as Beta got to be 2x2

  RHO <- 0  # Indpendence
  MU1 <- 0; S1 <- 1 # Std. Normal
  MU2 <- 0; S2 <- 1 # Std. Normal
  MU <- c(MU1, MU2) # mean vector
  SIGMA <- matrix (c(S1^2, S1*S2*RHO, S1*S2*RHO, S2^2), 2) # Var-Covar matrix
  Z <- mvrnorm(nsample, mu=MU, Sigma=SIGMA)

  T <- exp(-Z%*%beta + e)
  T1 <- T[,1]
  T2 <- T[,2]

  x1 <- pmin(T1,C)
  x2 <- pmin(T2,C); 
  d1 <- ifelse(T1<=C, 1, 0)
  d2 <- ifelse(T2<=C, 1, 0)

  dat <- data.frame(x1, x2, d1, d2)  
  return(dat)
  print(dat)
}

我运行了您的代码,没有任何错误。 您是否正在运行这样的功能?

dat = generate.dat(tau, nsample, err_dist)

如果您希望函数每次都打印dat ,则将print语句放在return之前(通常, return语句应始终是函数中的最后一件事)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM