从seer数据库下载到数据后,部分人会感到无从下手,这是因为数据还没有经过清洗整理,不能变成我们统计软件识别的形式,不能进行分析。今天我们手把手教你使用R语言进行seer数据库清洗,让数据变为我们所用。
首先导入我们需要的R包,需要foreign,car,和stringr,需先下载好。

然后我们把我们下载好的数据导入R,有20多万条,靠手工更改是不可能完成的。

be<-read.csv("E:/r/test/seer4.csv",sep=',',header=TRUE)


查看一下数据的名字和形式还有变量
head(be)
names(be)


感觉太乱了,有些名字很长,全部给它改下名字

colnames(be)<-c("sex","time","rezult","rezult1","status","race","Subtype","nodes","Lymph.Invasion","tumor.size","extension","lymph.nodes","age","ajcc")#数据太长,重新命名

我们重新查看一下数据集,这回清爽多了

我们发现一共有14个变量,其中Lymph.Invasion都是缺失数据,根本不能分析,只能删掉,这就是公共数据库的无奈

be<-be[,-9]#删掉第9列Lymph.Invasion,因为都是缺失的数据


很多数据中变量都是字符串,不符合要求,我们要把它们变成数字

be$sex<-ifelse(be$sex=="Female",1,ifelse(be$sex=="Male",2,NA))#性别转换成1和2,缺失的使用NA表示,其他的相同
be$rezult1 <-ifelse(be$rezult1 =="Alive or dead due to cancer",1,ifelse(be$rezult1 =="Dead (attributable to causes other than this cancer dx)",2,NA))
be$status<-ifelse(be$status=="Alive",0,ifelse(be$status=="Dead",1,NA))
be$race<-ifelse(be$race=="White",1,ifelse(be$race=="Black",2,3))
be$Subtype<-recode(be$Subtype,"'HR-/HER2- (Triple Negative)'=1;'HR-/HER2+ (HER2 enriched)'=2;'HR+/HER2- (Luminal A)'=3;'HR+/HER2+ (Luminal B)'=4;else=NA")#这里是4个分类变量,使用ifelse函数套叠胎麻烦,改用car函数
be$nodes[be$nodes=="Blank(s)"]=NA#让数据中的Blank(s)变为缺失值,下面同理
be$tumor.size[be$tumor.size=="Blank(s)"]=NA
be$extension[be$extension=="Blank(s)"]=NA
be$lymph.nodes[be$lymph.nodes=="Blank(s)"]=NA
be$age<-str_extract(be$age, "\\d+")#把年龄里面的数字提取出来
be$ajcc[be$ajcc=="Blank(s)"]=NA


OK,转换得差不多了,我们来看一下,rezult没有用,我们不理他,等下删掉,我们需要的是rezult1

Ajcc我们没有转换,因为暂时还不需要用,等我们讲到探索交互效应分析的时候再说它,现在先不理他先,你如果有强迫症的话也可以按我们上面的代码转换它
OK,现在完成了?不还没有,还有一个重要的变量没有生成,就是竞争风险的结局
我们现在来生成它

be$status1<-ifelse(be$status==0,0,ifelse(be$rezult1==1,1,2))

最后数据出来啦

把它输出为1.csv

write.csv(be,file = "1.csv")

最后打开1.csv,整理一下,这就是我们要发表的数据啦

20多万条数据,发个中文核心或者低分SCI还不是轻轻松松,玩一样。
如果想更详细了解数据挖掘过程,请关注我的科研教程
更多精彩文章请关注公众号:零基础说科研

临床数据库挖掘系列3-手把手教你使用R语言对seer数据库清洗相关推荐

  1. 手把手教你入门R语言--数据分析篇(1)——数据导入与基础绘图

    R语言入门系列课程(6) 前面已将R语言的基础全部交给大家了,这两节将教大家用R语言进行数据分析的基础.数据读入(数据源包括txt文件.Excel文件.MySLQ数据库.MongoDB数据库).数据写 ...

  2. 手把手教你使用R语言制作临床决策曲线

    DCA(Decision Curve Analysis)临床决策曲线是一种用于评价诊断模型诊断准确性的方法,在2006年由AndrewVickers博士创建,我们通常判断一个疾病喜欢使用ROC曲线的A ...

  3. 手把手教你使用R语言建立COX回归并画出列线图(Nomogram)

    列线图,又称诺莫图(Nomogram),它是建立在回归分析的基础上,使用多个临床指标或者生物属性,然后采用带有分数高低的线段,从而达到设置的目的:基于多个变量的值预测一定的临床结局或者某类事件发生的概 ...

  4. 独家 | 手把手教你学习R语言(附资源链接)

    作者:NSS 翻译:杨金鸿 术语校对:韩海畴 全文校对:林亦霖 本文约3000字,建议阅读7分钟. 本文为带大家了解R语言以及分段式的步骤教程! 人们学习R语言时普遍存在缺乏系统学习方法的问题.学习者 ...

  5. 超级干货 :手把手教你学习R语言(附资源链接)

    作者:NSS:翻译:杨金鸿:校对:韩海畴,林亦霖: 本文约3000字,建议阅读7分钟. 本文为带大家了解R语言以及分段式的步骤教程! 人们学习R语言时普遍存在缺乏系统学习方法的问题.学习者不知道从哪开 ...

  6. 手把手教你学习R语言

    本文为带大家了解R语言以及分段式的步骤教程! 人们学习R语言时普遍存在缺乏系统学习方法的问题.学习者不知道从哪开始,如何进行,选择什么学习资源.虽然网络上有许多不错的免费学习资源,然而它们多过了头,反 ...

  7. 手把手教你用R语言读取CSV文件

    导读:R语言有许多种方法去获取数据,最常用的是读取CSV文件. 作者:Jared P. Lander 来源:大数据DT(ID:hzdashuju) 读取CSV文件最好的方法是使用read.table函 ...

  8. 手把手教你使用R语言爬虫在气象网站抓取气象数据并分析绘制热力日历图(1)

    我们做临床研究常见的烦恼为没有好的数据,目前气象网站上有很多关于气象因素和空气质量数据,但是没有系统的整理和格式等问题,我们使用起来非常不方便,而且很费时间,我们可以使用R语言爬虫工具对网站上的数据进 ...

  9. 手把手教你入门R语言(1)——R软件初识与安装

    R语言入门系列课程(1) 经过几个版本的更迭,终于形成一套R语言入门系列课程,小编携手同仁共同打造的课件,分享给小白们学习,如有疑问,欢迎前来探讨.第一节课共分四个章节,主要带领大家了解R语言以及R语 ...

  10. R语言对SEER数据库随机分为建模组和验证组

    我们从SEER数据库下载到数据库后,一个很重要的步骤就是把数据库随机分为建模组和验证组,一般来说的话是用70%的数据建模,30%的数据进行验证.因为我们很难找到和SEER数据库类似的数据进行外部验证, ...

最新文章

  1. Access数据库审计工具mdbtools
  2. 分布式系统关注点:无状态
  3. java线程数翻倍性能翻倍_术业专攻 | 如何让Java Web性能翻倍?
  4. GDCM:gdcm::EquipmentManufacturer的测试程序
  5. HDU 1599 find the mincost route
  6. 01-Javascript简介
  7. 全面剖析 Knative Eventing 0.6 版本新特性
  8. python利用什么写模板_利用python自动生成verilog模块例化模板
  9. 11 Vue学习 headtop
  10. 拓端tecdat|R语言Black Scholes和Cox-Ross-Rubinstein期权定价模型案例
  11. 七夕,眼光长远点,聊点孩子的事?
  12. RabbitMQ(六)死信队列
  13. [疯狂Java]JDBC:事务管理、中间点、批量更新
  14. 洛谷P3352 [ZJOI2016]线段树
  15. 不用运动快速有效减肥——红光光浴#大健康#红光光浴#红光#种光光学
  16. 如何批量修改文件夹中的照片名称
  17. Python 标准库之 shutil 高阶文件操作『详细』
  18. 【MATLAB基础】MATLAB与Word互联(4)
  19. 虾皮shopee蓝海词怎么找?挖掘shopee蓝海词有哪些技巧?
  20. 顶点缓冲区与着色器 (The Cherno + LeranOpenGL)笔记

热门文章

  1. Java学习笔记 第一天
  2. Ubuntu 可视化图片——eog
  3. 渗透测试-使用metasploit的evasion模块生成后门木马
  4. 组网 三层交换机配置
  5. java调用腾讯企业邮箱给谷歌(gmail)邮箱发送邮件丢失或进入垃圾邮箱
  6. 运算符和强制类型转换
  7. instant-ngp
  8. Base64在线转换工具
  9. openpyxl,给单元格插入公式,求和通过excel公式实现
  10. 包学会之浅入浅出Vue.js:升学篇