为什么我会因为“由于奇异而未定义”?

时间:2019-04-30 16:24:35

标签: r regression survival-analysis

因此,我正在对我的Google Players下载数据集进行生存分析。 我使用survreg进行的分析只为我提供了系数的nas。

  

“(由于奇异,未定义5个)”

如果我使用正常的lm回归,则不会发生此问题。但是,这将不起作用,因为对因变量的所有观察都已正确检查了不同的数字(数值也是极限)。

我的原始数据集:https://www.kaggle.com/lava18/google-play-store-apps

因此,在这里我将向您展示我的整个代码。可能会有点长,所以请滚动到最后进行生存分析,但我想让您能够完全理解。

library(readxl)
Dataset <- read_excel("Thesis/googleplaystore.xlsx")
View(Dataset)
#selecteer 500 apps
set.seed(1998)
dataset <- Dataset[sample(nrow(Dataset), 500), ]
View(dataset)
#Lastupdated --> days_since
end <- matrix( c("2018-08-31"), nrow=500, ncol=1, byrow=FALSE)
end <- format(as.Date(end), "%Y/%m/%d")
View(end)
dataset$`Last Updated` <- as.Date(dataset$`Last Updated`,
                       format = "%B %d, %Y")
dataset$`Last Updated` <- format(as.Date(dataset$`Last Updated`), "%Y/%m/%d")
View(dataset)
install.packages('lubridate')
library(lubridate)
elapsed.time <- dataset$`Last Updated` %--% end
View(elapsed.time)
dataset$days_since <- as.duration(elapsed.time) / ddays(1)
View(dataset)
# + verwijdern uit aantal installs
dataset$Install <- gsub("\\+","", dataset$Installs)
View(dataset)
dataset$Install <- gsub(",","", dataset$Install)
# installs en price numeric maken
typeof(dataset$Install)
dataset$Install <- as.numeric(dataset$Install)
View(dataset)
typeof(dataset$Rating)
dataset$Rating <- as.numeric(dataset$Rating)
typeof(dataset$Reviews)
typeof(dataset$Price)
dataset$Price <- gsub("\\$","", dataset$Price)
dataset$Price <- as.numeric(dataset$Price)
typeof(dataset$days_since)

#Tobit Survival analyses
library(help=survival)
library(survival)
dataset$ins_cen <- matrix( c("0"), nrow=500, ncol=1, byrow=FALSE)
typeof(dataset$ins_cen)
dataset$ins_cen <- as.numeric(dataset$ins_cen)
install.packages('tidyverse')
library(tidyverse)
dataset_2 <- dataset %>% filter(!is.na(dataset$Rating))
View(dataset_2)
dataset_2$dum_cen <- ifelse(dataset_2$ins_cen == 0, 0, 1)
dataset_2$dum_fac <- as.factor(dataset_2$dum_cen)
survreg(Surv(Install, ins_cen, type= 'right') ~  Rating + Price + Reviews + days_since,
        dist="gaussian", data = dataset_2)
cor(dataset)
#CRCH
install.packages('crch')
library(crch)
View(dataset)
CRCH <- crch(Install ~ Rating + Price + Size + Reviews +days_since + `Current Ver` + Category, data = dataset, dist = 'gaussian', right = dataset_2$Install)

我尝试将事件转换为虚拟变量和因子,但两个选项均不起作用。虚拟变量不变,而因子变量给出错误。

  

survreg中的错误(Surv(Install,dum_fac,type =“ right”)〜评分+   价格+:不支持多州生存

感谢您的帮助。 抱歉,如果我问的是愚蠢的问题,但我仍在学习并且无法解决我的问题。

p.s。我还尝试使用crch()解决我的问题,但是这导致了另一个错误,我似乎也无法解决任何问题。

  

optim中的错误(par =开始,fn = loglikfun,gr = gradfun,方法=   方法,:由optim提供的非限定值

编辑:我注意到我在crch代码中保留了字符变量。 从公式中删除该错误后,我会得到另一个错误。

  

solve.default(hessfun(par))中的错误:系统正在计算   单数:条件编号= 7.31468e-142

CRCH代码:

#CRCH
install.packages('crch')
library(crch)
View(dataset)
CRCH <- crch(Install ~ Rating + Price + Reviews +days_since, data = dataset, dist = 'gaussian', left = -Inf, right = dataset_2$Install)
x = Price + Size + Reviews +days_since + `Current Ver` + Category

0 个答案:

没有答案