如何在R语言中使用Logistic回归模型

Python010

如何在R语言中使用Logistic回归模型,第1张

logit=glm(y~x1+x2,data=data,family=binomial(link='logit'))

glm表示广义线性回归,data表示y,x1,x2所在的数据集,family中的link用来选择回归类型,logit表示选择logistic回归

R语言中的几种数据结构

一 R中对象的5种基本类型

字符(character)

整数 (integer)

复数(complex)

逻辑(logical:True/False)

数值(numeric:real numbers)

查看对象类型的命令:class(x)

二 R语言中有如下几种数据结构:

向量 vector() 组内元素必须类型一致,否则将会被强制转换。

(1) 创建向量的三种方式:

<span style="font-size:18px">x <- vector("numeric", length = 10)

x <- 1:4

x <- c("a",12,TRUE)</span>

(2) 强制转换的几个函数:

as.numeric(x) / as.character(x) / as.logical(x)

矩阵 matrix()一列一列的填充元素

按行合并:rbind()按列合并:cbind()

数组 array() 可以有多个维度

列表 list() 可以包含不同类型的元素

因子 factor()

(1) 分类数据/有序 vs. 无序

(2) 整数向量+标签(label)(优于整数向量)

Male/Female vs. 1/2

常用于lm(),glm()

(3) levels设置基线水平

table() 查看因子信息unclass() 去除因子属性日期

x <- Sys.Date() 得到系统当前日期

julian(x) x距离1970-01-01的天数

时间 POSIXct / POSIXlt

POSIXct:整数,常用于存入数据框 as.POSIXct()

POSIXlt:列表,还包含星期、年月日等信息。as.POSIXlt()

strptime(x, format = "...") 将一般格式转化为时间格式

请教如何实现广义线性模型GLM作图

1、广义线性模型GLM很简单,举个例子,药物的疗效和服用药物的剂量有关。这个相关性可能是多种多样的,可能是简单线性关系(发烧时吃一片药退烧0.1度,两片药退烧0.2度,以此类推;这种情况就是一般线性模型),也可能是比较复杂的其他关系,如指数关系(一片药退烧0.1度,两片药退烧0.4度),对数关系等等。这些复杂的关系一般都可以通过一系列数学变换变成线性关系,以此统称为广义线性模型。

2、广义线性混合模型GLMM比较复杂,GLM要求观测值误差是随机的,而GLMM则要求误差值并非随机,而是呈一定分布的。举个例子,我们认为疗效可能与服药时间相关,但是这个相关并不是简简单单的疗效随着服药时间的变化而改变。更可能的是疗效的随机波动的程度与服药时间有关。比如说,在早上10:00的时候,所有人基本上都处于半饱状态,此时吃药,相同剂量药物效果都差不多。但在中午的时候,有的人还没吃饭, 有的人吃过饭了,有的人喝了酒,结果酒精和药物起了反应,有的人喝了醋,醋又和药物起了另一种反应。显然,中午吃药会导致药物疗效的随机误差非常大。这种疗效的随机误差(而非疗效本身)随着时间的变化而变化,并呈一定分布的情况,必须用广义线性混合模型了。