美文网首页
R语言基本操作

R语言基本操作

作者: 北欧森林 | 来源:发表于2021-04-30 08:06 被阅读0次

以SOFA 评分表为例:


image.png
  1. 模拟数据
pao2 <- round(rnorm(100,mean = 300,sd = 30))
summary(pao2)

fio2 <- round(rnorm(100,mean = 0.5,sd = 0.1),2)
gcs <- round(rnorm(100,mean = 80,sd = 20)/10)
map <- round(rnorm(100,mean = 65,sd = 15))
dop <- round(rnorm(100,mean = 10,sd = 3),1)

dob <- rbinom(100,1,0.4)
epi <- round(rnorm(100,mean = 10,sd = 3)/100,2)
nor <- round(rnorm(100,mean = 10,sd = 3)/100,2)

bilirubin <- round(rnorm(100,mean = 80,sd = 20),1)
platelet <- round(rnorm(100,mean = 180,sd =50))
cr <- round(rnorm(100,mean = 150,sd = 34))
uo <- rnorm(100, mean = 1000, sd = 500)

uo <- round(ifelse(uo >0, uo,-uo))  # 使其不出现负数

data <- data.frame(pao2,fio2,gcs,map,dop,dob,epi,nor,bilirubin,platelet,cr,uo)
head(data,4)

#    pao2 fio2 gcs map  dop dob  epi  nor bilirubin platelet  cr   uo
# 1  306 0.55  10  60  9.1   0 0.13 0.07      57.8      152 113 2158
# 2  306 0.62  10  75 12.5   1 0.14 0.14      53.5      237 126  436
# 3  274 0.51   9  91  9.8   1 0.11 0.07      68.0      135 104  868
# 4  312 0.38   8  63  7.8   1 0.07 0.11      78.2      190 133 1230
  1. 将呼吸、凝血、肝功指标转化为相应评分
data$respiratory <- ifelse(data$pao2/data$fio2 >= 400,0,
                           ifelse(data$pao2/data$fio2 >= 300,1,
                                  ifelse(data$pao2/data$fio2 >= 200,2,
                                         ifelse(data$pao2/data$fio2 >= 100,3,4))))

data$coagulation <- ifelse(data$platelet >= 150,0,
                           ifelse(data$platelet >= 100,1,
                                  ifelse(data$platelet >= 50,2,
                                         ifelse(data$platelet >= 20,3,4))))

data$liver <- ifelse(data$bilirubin >= 204,4,
                     ifelse(data$bilirubin >= 102,3,
                            ifelse(data$bilirubin >= 33,2,
                                   ifelse(data$bilirubin >= 20,1,0))))

head(data[,c("pao2","fio2","respiratory","coagulation","liver")])

#  pao2 fio2 respiratory coagulation liver
# 1  306 0.55           0           0     2
# 2  306 0.62           0           0     2
# 3  274 0.51           0           1     2
# 4  312 0.38           0           0     2
# 5  348 0.52           0           1     2
# 6  271 0.56           0           0     3
  1. 转化神经系统、肾功、心功指标为相应评分
# 中枢
data$neuro <- cut(data$gcs,breaks = c(3,5,9,12,14,15),labels = c(4,3,2,1,0),include.lowest = TRUE)
data$neuro <- as.numeric(as.character(data$neuro)) #将上一步的结果为factor
data$neuro
# 肾功
cr.score <- ifelse(data$cr < 110,0,
                   ifelse(data$cr <= 170,1,
                          ifelse(data$cr <= 229,2,
                                 ifelse(data$cr <= 440,3,4))))
uo.score <- ifelse(data$uo >= 500,0,ifelse(data$uo >200,3,4))
data$renal <- max(cr.score,uo.score)
# 循环
map.score <- ifelse(data$map >= 70,0,1)
dop.score <- ifelse(data$dop > 15,4,ifelse(data$dop >5.1,3,2))
dob.score <- ifelse(data$dob == 1,2,0)
epi.score <- ifelse(data$epi <= 0.1,3,4)
nor.score <- ifelse(data$nor > 0.1,4,3)

data$cardio <- max(map.score,dop.score,dob.score,epi.score,nor.score)

# sofa 评分
data$sofa.score <- rowSums(data[,c("cardio","renal","coagulation","liver","neuro","respiratory")])
head(data)
image.png
  1. 连续变量重新编码
data$oxyindex <- data$pao2/data$fio2
data$berlin <- cut(data$oxyindex, breaks = c(min(data$oxyindex),
                                             100,200,300,max(data$oxyindex)),
                   labels = c("severe","moderate","mild","none"),include.lowest = TRUE)
table(data$berlin)

# severe moderate     mild     none 
#    0        0        1       99 
  1. 修改变量名
# method 1
names(data)[20] <- "oxygen.index"
names(data)[11] <- "creatinine"
names(data)

# method 2
library(reshape)
data <- rename(data,c(gcs = "GCS",berlin = "Berlin"))
names(data)

参考资料
文中代码来自章仲恒教授的丁香园课程:R语言基本操作

相关文章

  • R语言基本操作

    ##R语言数据的基本操作 例子:mtcars数据 str(mtcars) #结构 变量几个 table(mpg)...

  • R 语言-基本操作

    1、设置工作目录 默认路径的设置: #显示R软件默认使用的目录 > getwd() #R中使用函数必须加括号 #更...

  • R语言基本操作

    以SOFA 评分表为例: 模拟数据 将呼吸、凝血、肝功指标转化为相应评分 转化神经系统、肾功、心功指标为相应评分 ...

  • 《学习小组Day4笔记--寒鹤》

    R语言基础 今天的课程内容是R语言基础,包括R及Rstudio的安装,R语言的一些基本操作等。因之前已学习过R语言...

  • R 语言实战 读书笔记

    R语言实战(第2版) 学习笔记 1. R语言介绍 1.1 为什么用R语言 bla 1.2 基本操作 图表演示命令 ...

  • 学习小组Day4笔记--何小娜

    今天学习R语言 了解R语言,熟悉R语言外观设置 熟悉R基本操作 嗯,先调大了字体,设置了比较黑的外观 原来好多快捷...

  • 生信星球学习小组第29期 Day4

    R语言基础 今日学习大纲: 安装R和Rstudio 了解R语言是什么,做什么,熟悉工作界面 学会外观设置和基本操作...

  • 学习小组Day4笔记--快乐小胡

    R语言来了 1.安装R和Rstudio 2.设置字体大小 、 3.R语言基本操作 3.1 用Rproject管理工...

  • 学习小组Day4笔记--Jeremy

    R语言基本操作 Rstudio界面 查看目录及文件 基本算术 赋值与删除 作图

  • 《学习小组Day4笔记--面团》

    一 R语言基本操作 二 R语言画图操作 plot 二维线画图函数 runif 生成均匀分布随机数的函数 三 干货收...

网友评论

      本文标题:R语言基本操作

      本文链接:https://www.haomeiwen.com/subject/eoogrltx.html