# loads dplyr
library(dplyr)
# core survival analysisfunctions
library(survival)
# recommended forvisualizing survival curves
library(survminer)
#加载内置colon数据集
data(colon)
#list directory contents
ls(colon)
得到如下图:
#创建生存对象
fit <- survfit(Surv(time, status)~rx, data=colon)
#level()是为了看分组水平情况,以确定对照组,一般level()之后第一个为对照组
levels(colon$rx)
ggsurvplot(fit,risk.table=TRUE,#生存统计统计表
conf.int=TRUE,#添加置信区间带
palette = c("skyblue","green","red"),#颜色设置
pval=TRUE,#log-rank检验
pval.method=TRUE)#添加检验text
至于是treatment中的哪一组与Obs相比,显著性,差异性更大,需要查看 Lev 和 obs 对比的p值及HR,以及 (Lev+5FU) 和 Obs 对比的p值及HR,评价分组的治疗效果
#Cox Regression,评价rx分组后治疗效果
fit1<-coxph(Surv(time, status)~rx, data=colon)
fit1
在R中尽量使用 <- 进行赋值, <- 更标准。在R中使用 = 进行赋值可能会出现错误(有些函数会将其解释为判断)——因为R起源于S语言,S语言的定义如此。
模式-使用mode()可以查看对象的数据类型
长度-使用length()可以查看对象的长度
标量可以是数字、字符、逻辑值等。
结果
向量可以由单个或多个值组成,多值的向量只能由相同类型的值组成,有一维和多维向量。
向量用于存储数值型、字符型、逻辑型数据
is.na()判断是否为缺失值,返回一个逻辑性向量
将自变量连接成一个字符串。
一般的使用形式是paste (..., sep = " ", collapse = NULL), ... 表示想要连接的不同自变量,sep表示不同自变量之间添加的符号,collapse打开之后表示将整个自变量变成一个单一的变量
对对象进行重复
在统计学中,按照变量值是否连续把变量分为连续变量与离散变量两种。分类变量是说明事物类别的一个名称,其取值是分类数据。变量值是定性的,表现为互不相容的类别或属性。因子就是一类分类离散变量。
因子是带有水平(level)的向量。
factor()函数一般形式为:
可以用来筛选因子的level
Table()函数对应的就是统计学中的列联表,是一种记录频数的方法。对于因子向量,可用函数table()来统计各类数据的频率。Table()的结果是一个带元素名的向量,元素名为因子水平,元素值为该水平的出现频率。
tapply()是对向量中的数据进行分组处理,而非对整体数据进行处理。函数一般形式为:
gl()函数可以方便地产生因子,函数一般形式为:
矩阵是一个二维数组,只是每个元素都拥有相同的数据类型(数值型、字符型或逻辑型)。注意与数据框的差别,数据框不同列的数据类型可以不同。
函数matrix ()是构造矩阵(二维数组)的函数,其构造形式为:
数组与矩阵类似,但是维度可以大于2。数组有一个特征属性叫做维数向量(dim属性),维数向量是一个元素取正整数值的向量,其长度是数组的维数,比如维数向量有两个元素时数组为二维数组(矩阵)。维数向量的每一个元素指定了该下标的上界,下标的下界总为1。
R软件可以用array()函数直接构造数组,其构造形式为:
数据框与矩阵类似,为二维,其数据框中各列的数据类型可以不同,但是长度必须一样。数据框在生物数据中用得比较多,是非常重要的一类数据类型。
数据框与矩阵不同的是数据框不同的列可以是不同的数据类型,并且数据框假定每列是一个变量,每行是一个观测值。
作为数据框变量的向量、因子或矩阵必须具有相同的长度(行数)。数据框可以用data.frame()函数生成,其用法与list()函数相同。
data.frame(col1,col2,col3.....)其中列向量col1,col2等可以是任何类型的向量
列表可以储存不同类型的数据,是一些对象的有序集合。它的元素也由序号(下标)区分,但是各元素的类型可以是任意对象,不同元素不必是同一类型。元素本身允许是其他复杂数据类型。比如一个列表的元素也允许是一个列表。
R软件中利用函数list()构造列表,一般语法为:
Lst<-list(name_1=object_1,…, name_1=object_m)
其中name是列表元素的名称;object_i(i=1,…,m)是列表元素的对象。
unlist()函数:将list函数拉直成一个向量
用predict就能做到。
predict的用法:
predict(object, newdata, se.fit = FALSE, scale = NULL, df = Inf,
interval = c("none", "confidence", "prediction"),
level = 0.95, type = c("response", "terms"),
terms = NULL, na.action = na.pass,
pred.var = res.var/weights, weights = 1, ...)
object是你的回归模型。
newdata是使用的数据。
interval选confidence或者"c"。
level是置信水平。
type在计算响应变量时使用response,对变量计算使用terms。如果是terms,需要用后面terms参数指定变量名(character类型向量形式)。