4.1 一个示例
4.2 创建新变量
变量名 <- 表达式
运算符 | 描述 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
^ or ** | 求幂 |
x%%y | 求余 |
x%/%y | 整数除法 |
transform函数:创建新变量并将其保存到数据框中。
4.3 变量的重编码
重编码:根据同一个变量和或其他变量的现有值创建新值的过程。
逻辑运算符
运算符 | 描述 |
---|---|
<, <=, > , >=, ==, != | 小于,小于等于,大于,大于等于,等于,不等于 |
!x | 非x |
x 管道符 y | x或y |
x&y | x和y |
isTRUE(x) | 测试x是否为TRUE |
#创建agecat变量
leadership$agecat[leadership$age > 75] <- "Elder"
leadership$agecat[leadership$age >= 55 &leadership$age <=75] <- "Middle Aged"
leadership$agecat[leadership$age < 55] <- "Young"
leadership
4.4 变量的重命名
names()函数重命名变量
plyr包中rename()函数修改变量名,使用格式为:rename(dataframe, c(oldname="newname",...)
4.5 缺失值
缺失值NA:Not Available,不可用。
函数is.na()允许检测缺失值是否存在
Two things are very important:
- 缺失值被认为是不可比较的
- R并不把无限的或者不可能出现的数值标记成缺失值。不可能的值用NaN not a number来标记。
4.5.1 重编码某些值为缺失值
4.5.2 在分析中排除缺失值
含有缺失值的算术表达式和函数计算结果也是缺失值。
函数na.omit()移除所有含有缺失值的观测。
4.6 日期值
函数as.Date()用于执行转化字符串形式的日期值为数值形式。
as.Date(x, "input_format")
符号 | 含义 | 示例 |
---|---|---|
%d | 数字表示的日期(0~31) | 01~31 |
%a | 缩写的星期名 | Mon |
%A | 星期名 | Monday |
%m | 月份(00~12) | 00~12 |
%b | 缩写的月份 | Jan |
%B | 月份 | January |
%y | 两位数的年份 | 07 |
%Y | 四位数的年份 | 2007 |
日期值的默认输入格式为yyyy-mm-dd
Sys.Date()返回当天的日期
date()返回当前的日期和时间
difftime()来计算时间间隔
4.6.1 将日期转换为字符型变量
as.character()
4.6.2 进一步了解
help(as.Date)
4.7 类型转换
判断 | 转换 |
---|---|
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 |
4.8 数据排序
order函数对一个数据框进行排序,默认升序,前面加一个减号降序。
4.9 数据集的合并
4.9.1 向数据框添加列
merge()函数
cbind()函数横向合并
4.9.2 向数据框添加行
rbind()函数(必须拥有相同的变量)
4.10 数据集取子集
4.10.1 选入或保留变量
dataframe[row indices, column indices]
4.10.2 剔除或丢弃变量
逻辑运算符!
4.10.3 选入观测
4.10.4 subset函数---最简单的选择变量和观测的方法
4.10.5 随机抽样
sample()函数
4.11 使用SQL语句操作数据框
skip