分享

用R语言进行数据清洗

 生物_医药_科研 2019-01-24

数据分析前先数据清洗,这一步是最耗费时间的过程。

今天总结下R语言数据合并和清洗的部分语句。

(1)横向合并(按行合并): merge语句

例:有两个数据集,student1和student2,想讲两个数据集合并起来,我们就用到merge语句

> student1<>

> student1

ID name

1 1 Jim

2 2 Tony

3 3 Lisa

4 4 Tom

> student2<>

> student2

ID score

1 1 89

2 2 22

3 3 78

4 4 78

观察数据集可知,数据集中有相同的变量“ID”,可以按照这个变量将两个数据集匹配合并。

> total_student<>

> total_student

ID name score

1 1 Jim 89

2 2 Tony 22

3 3 Lisa 78

4 4 Tom 78

合并后的结果见上图。

另外一个函数是cbind

(2)纵向合并(按列合并)

> student1<>

> student1

ID name

1 1 Jame

2 2 Kevin

3 3 Sunny

> student2<>

> student2

ID name

1 4 Sun

2 5 Frame

3 6 Eric

数据集是ID不同,按照ID纵向合并:

> total<>rbind(student1,student2)

> total

ID name

1 1 Jame

2 2 Kevin

3 3 Sunny

4 4 Sun

5 5 Frame

6 6 Eric


(3)选取行数
manager<>
date<-c('10>
country<>
gender<>
age<>
q1<>
q2<>
q3<>
q4<>
q5<>
leadership<>
leadership$agecat[leadership$age>75]<-'elder' #是将年龄大于75岁的选出来赋值为="">
leadership$agecat[leadership$age>=55 &leadership$age<><-'middle aged'="">#是将年龄大于55岁小于75岁的人选出来赋值为 “Middle Aged

leadership$agecat[leadership$age<><>

#是将年龄大于55岁小于75岁的人选出来赋值为 “Young

newdata<>

(4)#剔除变量 %in%
manager<>
date<-c('10>
country<>
gender<>
age<>
q1<>
q2<>
q3<>
q4<>
q5<>
leadership<>
leadership$agecat[leadership$age>75]<>
leadership$agecat[leadership$age>=55 &leadership$age<><-'middle>
leadership$agecat[leadership$age<><>
myvars<-names(leadership) %in%="">
newdata<>
newdata
mydata<>
mydata

(5)#选取1:3行
newdata<>
newdata

(6)#选取指定条件数据 which条件
newdata<-leadership[which(leadership$gender=='f' &="" leadership$age="">30),]
newdata

(7)#选取时间which
leadership$date<-as.date(leadership$date,'%m>
startdate<>
enddate<>
newdata<-leadership[which(leadership$date>=startdate & leadership$date<>
newdata

(8)#subset函数应用
newdata<-subset(leadership,age>=35|age<>
select=c(manager,date,country,gender,age,q1,q2,q3,q4,q5))
newdata

newdata<-subset(leadership,age>=35 & gender=='F',
select=manager:q5)
newdata



(9)#排序
manager<>
date<-c('10>
country<>
gender<>
age<>
q1<>
q2<>
q3<>
q4<>
q5<>
leadership<>
leadership$agecat[leadership$age>75]<>
leadership$agecat[leadership$age>=55 &leadership$age<><-'middle>
leadership$agecat[leadership$age<><>
leadership$date<-as.date(leadership$date,'%m>
newdata<>
newdata

(10)#升序
attach(leadership)
newdata<>
detach(leadership)
newdata

(11)#降序
attach(leadership)
newdata<>
detach(leadership)
newdata



本公众号精彩历史文章

04:如何在R软件中求一致性指数( Harrell'concordance index:C-index)?

05:Nomogram 绘制原理及R&SAS实现.

06 : Lasso方法简要介绍及其在回归分析中的应用

07 : 最优模型选择中的交叉验证(Cross validation)方法

08 : 用R语言进行分位数回归(Quantile Regression)

09 : 样本数据中异常值(Outliers)检测方法及SPSS & R实现

10 : 原始数据中几类缺失值(Missing Data)的SPSS及R处理方法

11 : [Survival analysis] Kaplan-Meier之SPSS实现

12 : [Survival analysis] COX比例风险回归模型在SPSS中的实现

13 : 用R绘制地图:以疾病流行趋势为例

14 : 数据挖掘方法:聚类分析简要介绍 及SPSS&R实现

15 : 医学研究中的Logistic回归分析及R实现

16 : 常用的非参数检验(Nonparametric Tests)总结

17 : 高中生都能看懂的最小二乘法原理

18 : R语言中可实现的常用统计假设检验总结(侧重时间序列)

19 : 如何根据样本例数、均数、标准差进行T-Test和ANOVA

20 : 统计学中自由度的理解和应用

21 : ROC和AUC介绍以及如何计算AUC

22 : 支持向量机SVM介绍及R实现

23 : SPSS如何做主成分分析?

24 : Bootstrap再抽样方法简介

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多