【R语言学习7】R语言基本数据管理方法简介
1创建新变量
我们将数据导入到Rstudio中后,常需要对数据进行预处理,而在这中间常需要创建新的变量,具体的方法为 变量名<- 表达式,其中<-代表赋值符号,即我们将表达式的结果赋值给变量名。表达式的构建常由以下符号构成:
(摘自R语言实战第二版)
如图我们将R软件自带的法国食管癌的病例对照研究作为示例数据,通过以下两种方法均可创建新的变量,方法一我们利用$选择data数据框中的ncases和ncontrols并将他们的求和赋值给data中的N变量。方法二的transform是一个函数命令,应用于指定范围的每个元素,首先将范围指定到data数据框中,然后再进行新变量的创建。
2变量的重命名
如果对现有的变量名称不满意,可以交互地或者以编程的方式修改它们,利用fix或者edit函数即可交互式的修改,同时也可以使用如图所示的编程命令修改变量名,即对其进行重新赋值。
3变量的重编码
在实际生活中我们常需根据数据不同的范围确定类别,例如考试成绩低于60为不及格,60-80分为合格,80分以上为优秀,这就是变量的重编码。重编码涉及根据同一个变量和/或其他变量的现有值创建新值的过程,例如将一个连续型变量修改为一组类别值,将误编码的值替换为正确值或基于一组分数线创建一个表示及格/不及格的变量。在对数据进行分类的过程中,我们常需用到逻辑运算符,需注意的是在R语言中等于为==,不等于为!=,或的符号为|,和的符号为&。
(摘自R语言实战第二版)
如图所示我们将N_Sample小于10的数据命名为Little并将数据填入新创建的N_Class列中,或者利用within函数,首先,创建了N_C变量,并将其每一行都设为缺失值。括号中剩下的语句接下来依次执行,将N大于20的命名为Much并赋值给N_C,小于等于20的命名为Little。
4缺失值与重复值
1. 在R中,缺失值以符号NA(NotAvailable,不可用)表示。可使用is.na()检测数据中是否存在缺失值,也可将数据重编码为缺失值。
假设你有一个向量:y <- c(1, 2, 3, NA)
然后使用函数:is.na(y)
将返回c(FALSE, FALSE, FALSE, TRUE)
2. 重复值将会影响数据的导入,默认情况下R不允许导入的数据行名有重复,这时我们需将行名变为变量名,然后判断哪个行名是重复的,可使用一下命令
data[duplicated(data$x),],利用duplicad函数判断data数据框中的x列是否有重复。
5类型转换
数据类型的转换是利用as.格式名称来进行的,比如说我们想将一个矩阵转化为数据框,则可利用as.data.frame()函数。
6数据排序
在R中,可以使用order()函数对一个数据框进行排序。默认的排序顺序是升序。在排序变量的前边加一个减号即可得到降序的排序结果。如
data<- esophnewdata<- data[order(data$ncases),]newdat<- data[order(-data$ncases),]
7数据合并
数据合并主要分为向数据框中添加列(merge函数、 cbind函数)、向数据框中添加行(rbind函数)。如图所示创建两个数据框,通过函数合并后可观察不同参数的区别。
而利用rbind进行合并时需注意两个数据框必须拥有相同的变量,不过它们的顺序不必一定相同。如果dataframeA中拥有dataframeB中没有的变量,需在合并之前做删除dataframeA中的多余变量并在dataframeB中创建追加的变量并将其值设为NA。
8数据筛选
在实际工作中我们常需要对数据进行筛选查看,例如查看某列数据( data$variable.name)或提取数据子集(data[nrow, ncol]),筛选满足相关条件的数据(subset函数)等等,如图我们在airquality数据框中选择temp大于95的数据,或利用select参数选择显示Ozone和Temp,或者可利用-选择不显示某列。具体的函数使用方法都可利用?函数名进行查看。