Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R .na()应用于“NULL”类型的非-(列表或向量)意味着什么?_R_Na_Cox Regression - Fatal编程技术网

R .na()应用于“NULL”类型的非-(列表或向量)意味着什么?

R .na()应用于“NULL”类型的非-(列表或向量)意味着什么?,r,na,cox-regression,R,Na,Cox Regression,我想从没有NA的data.frame中选择一个具有正向过程的Cox模型。以下是一些示例数据: test <- data.frame( x_1 = runif(100,0,1), x_2 = runif(100,0,5), x_3 = runif(100,10,20), time = runif(100,50,200), event = c(rep(0,70),rep(1,30)) ) 此表没有任何意义,但如果我们尝试构建模型: modeltest <

我想从没有NA的data.frame中选择一个具有正向过程的Cox模型。以下是一些示例数据:

test <- data.frame(
  x_1   = runif(100,0,1),
  x_2   = runif(100,0,5),
  x_3   = runif(100,10,20),
  time  = runif(100,50,200),
  event = c(rep(0,70),rep(1,30))
)
此表没有任何意义,但如果我们尝试构建模型:

modeltest <- coxph(Surv(time, event) ~1, test)
modeltest.forward <- step(
  modeltest, 
  data      = test, 
  direction = "forward", 
  scope     = list(lower = ~ 1, upper = ~ x_1 + x_2 + x_3)
)
前进在第一步结束,并表示:

在is.nafit$系数中:is.na应用于“NULL”类型的非列表或向量

三次

我尝试更改上层模型,甚至尝试了上层=~1,但警告仍然存在。我不明白:我没有NAs,我的向量都是数字,我检查过了。 我搜索了人们是否有相同的问题,但我能找到的只是由于向量的名称或类别引起的问题

我的代码有什么问题?

此特定情况下的问题 公式的右侧为1,这使其成为空模型。coxph调用coxph.fit,它可能懒得为空模型返回系数

稍后coxph调用extractAIC,它错误地假设模型对象包含名为coffectors的元素

一般情况 is.na假定其输入参数是原子向量、矩阵、列表或data.frame。其他数据类型会导致警告。正如您所看到的,它发生在NULL中:

is.na(NULL)
## logical(0)
## Warning message:
## In is.na(NULL) : is.na() applied to non-(list or vector) of type 'NULL'
这个问题的一个常见原因是试图访问列表中的元素或数据帧中不存在的列

d <- data.frame(x = c(1, NA, 3))
d$y # "y" doesn't exist is the data frame, but NULL is returned
## NULL
is.na(d$y)
## logical(0)
## Warning message:
## In is.na(d$y) : is.na() applied to non-(list or vector) of type 'NULL'

我忘了说,如果我尝试类似modeltest的东西,如果我将coxphSurv更改为lmevent或lmtime,它就会工作。因此,我将来自前锋和coxph的组合?嗨,文森特!你能解决这个问题吗?cox模型也出现了同样的错误,我似乎不明白为什么会这样。是和否:在我当前版本的R3.0.3中,运行上述代码时不会出现错误,只有警告,并且step函数可以工作。解释是,与零线性模型不同,零cox模型没有系数,甚至没有截距。因此,当step函数验证模型在估计中是否正常无NA时,它无法找到导致错误/警告的空模型的任何估计。因此,在不影响结果质量的情况下,警告是可以忽略的。如果出现错误,请尝试安装更新版本的R?谢谢!我将尝试安装一个更新的版本。我试图使用方差分析将空模型与其他模型进行比较,但出现了错误。一个问题应该是没有截取,但这听起来有点奇怪。“其他数据类型”位非常有用。你能添加一个触发。。。也属于“symbol”类型吗?@LondonRob Well is.naas.symbolx会这样做,但我猜这是由某个地方的非标准评估造成的。考虑创建一个新的问题来描述你的问题,并链接到这个问题,说明你有一个特殊的情况,这个更一般的问题。
if("y" in colnames(d))
{
  d2 <- d[is.na(d$y), ]
}
is.na(~ NA)
## [1] FALSE FALSE
## Warning message:
## In is.na(~NA) : is.na() applied to non-(list or vector) of type 'language'

is.na(mean)
## [1] FALSE
## Warning message:
## In is.na(mean) : is.na() applied to non-(list or vector) of type 'closure'

is.na(is.na)
## [1] FALSE
## Warning message:
## In is.na(is.na) : is.na() applied to non-(list or vector) of type 'builtin'

is.na(expression(NA))
## [1] FALSE
## Warning message:
## In is.na(expression(NA)) :
##   is.na() applied to non-(list or vector) of type 'expression'