我是靠谱客的博主 可靠雪糕,最近开发中收集的这篇文章主要介绍R语言基本数据管理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

基本数据管理

本篇文章主要参考了《R语言实战》1这本书。做了一些简化,是笔者学习的笔记,总结,书中例子复现。侵删。

算数运算

运算符描述
+
-
*
/
^或**求幂
%%求余
%/%整数除法

逻辑运算符

运算符描述
<小于
<=小于或等于
>大于
>=大于或等于
==严格等于
!=不等于
!x非x
x|yx或y
x&yx和y
isTRUE(X)测试x是否为TRUE

变量重命名

假设你希望将变 量名manager修改为managerID,并将date修改为testDate,那么可以使用语句:

fix(leadership)来调用一个交互式的编辑器,单击变量名,然后在弹出的对话框中将其重命名。

若以编程方式,reshape包中有一个rename()函数,可用于修改变量名。rename()函数的 使用格式为:

rename(dataframe,c(oldname="newname",oldname="newname",...))

注意:reshape包未被默认安装,所以在首次使用它之前需要先使用install.packages (“reshape”)命令安装它。

缺失值

R提供了一些函数,用于识别包含缺失值的观测。函数is.na()允许你检测缺失值是否存在。请注意is.na()函数是如何作用于一个对象上的。它将返回一个相同大小的对象,如果某个 元素是缺失值,相应的位置将被改写为TRUE,不是缺失值的位置则为FALSE。

例如

y<-c(1,2,3,NA)
is.na(y)

注意 缺失值被认为是不可比较的,即便是与缺失值自身的比较。这意味着无法使用比较运算 符来检测缺失值是否存在。

你可以通过函数na.omit()移除所有含有缺失值的观测。na.omit()可以删除所有含有缺 失数据的行。

日期值

日期值通常以字符串的形式输入到R中,然后转化为以数值形式存储的日期变量。函数 as.Date()用于执行这种转化。其语法为as.Date(x, “input_format”),其中x是字符型数 据,input_format则给出了用于读入日期的适当格式。

符号含义示例
%d数字表示日期(0~30)01~30
%a缩写的星期名Mon
%A非缩写的星期名Monday
%m月份(00~12)00~12
%b缩写的月份Jan
%B非缩写的月份Janaury
%y两位数的年份07
%Y四位数的年份2007

将日期转换为自负型变量

函数as.character()可将日 期值转换为字符型:

strDates<-as.character(dates)

类型转换函数

判断转换
is.numeric()as.numeric()
is.character()as.character()
is.vector()as.vector()
is.matrix()as.matrix()
is.data.frame()as.data.frame()
is.factor()as.factor()
is.logical()as.logical()

名为is.datatype()这样的函数返回TRUE或FALSE,而as.datatype()这样的函数则将其 参数转换为对应的类型。

数据排序 order()

数据合并

添加列

要横向合并两个数据框(数据集),请使用merge()函数。在多数情况下,两个数据框是通 过一个或多个共有变量进行联结的(即一种内联结,inner join)。

注意 :如果要直接横向合并两个矩阵或数据框,并且不需要指定一个公共索引,那么可以直接 使用cbind()函数:

total<-cbind(A,B)

这个函数将横向合并对象A和对象B。为了让它正常工作,每个对象必须拥有相同的行数, 且要以相同顺序排序。

添加行

要纵向合并两个数据框(数据集),请使用rbind()函数:

total<-rbind(dataframeA,dataframeB)

两个数据框必须拥有相同的变量,不过它们的顺序不必一定相同。如果dataframeA中拥有 dataframeB中没有的变量,请在合并它们之前做以下某种处理:

 删除dataframeA中的多余变量;

 在dataframeB中创建追加的变量并将其值设为NA(缺失)。

纵向联结通常用于向数据框中添加观测。


  1. R语言实战 [美] Robert I. Kabacoff ↩︎

最后

以上就是可靠雪糕为你收集整理的R语言基本数据管理的全部内容,希望文章能够帮你解决R语言基本数据管理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部