R语言实战读书笔记(四)基本数据管理
4.2 创建新变量
几个运算符:
^或**:求幂
x%%y:求余
x%/%y:整数除
4.3 变量的重编码
with():
within():可以修改数据框
4.4 变量重命名
包reshape中有个函数rename,可以改名 rename(df,c(manage='managerID',date='testDate'))
或
names(df)[2]<-'newname'
4.5 缺失值
is.na():检查缺失值,是返回TRUE,否返回FALSE
na.rm=TRUE选项可以用,比如
y<-sum(x,na.rm=TRUE)
移除缺失值
newdf<-na.omit(df)
4.6 日期值
as.Date():其中参数input_format的取值,真难记,默认日期是yyyy-mm-dd
%d:数字日期
%a:缩写的星期名
%A:非缩写的星期名
%m:00~12
%b:缩写的月份
%B:非缩写的月份
%y:两位年份
%Y:四位年份
Sys.Date():当前日期
date():返回当前日期和时间,为什么不好好起名字呢,非要叫Date和date
可以用format提取一些东西
today <- Sys.Date()
format(today, format = "%B %d %Y")
format(today, format = "%A")
日期可以相减
startdate <- as.Date("2004-02-13")
enddate <- as.Date("2009-06-22")
days <- enddate - startdate
也可以
today <- Sys.Date()
format(today, format = "%B %d %Y")
dob <- as.Date("1956-10-10")
format(dob, format = "%A")
4.6.1 将日期转换为字符型变量
as.character
4.7 类型转换
is.numeric --> as.numeric
is.character
is.vector
is.data.frame
is.factor
is.logical
4.8 数据排序
order()
newdata <- leadership[order(leadership$age), ] 这是升序,前面加个减号就是降序
newdata <- leadership[order(gender, -age), ] 这是按性别升序,年龄降序排序
4.9 数据集的合并
4.9.1 添加列
横向合并两个数据框,用merge()
newdf<-merge(dfA,dfB,by="ID")
newdf<-merge(dfA,dfB,by=c("ID","Country"))
如果不需要连接,用cbind就可以
4.9.2 添加行
rbind
4.10 数据集取子集
4.10.1 选入变量
选列
data<-df[,c(6:10)]
或按名称选择
myvars <- c("q1", "q2", "q3", "q4", "q5")
newdata <- leadership[myvars]
4.10.2 剔除变量
myvars <- names(leadership) %in% c("q3", "q4") 得到交集
newdata <- leadership[!myvars] 取反,结果等于去除了q3,q4
或者
newdata <- leadership[c(-7, -8)]
4.10.3 选入观测
which函数
4.10.4 subset
newdata <- subset(leadership, age >= 35 | age < 24, select = c(q1, q2, q3, q4))
newdata <- subset(leadership, gender == "M" & age > 25, select = gender:q4)
4.10.5 随机抽样
sample
sample<-df[sample(1:nrow*(df),3,replace=FALSE] 不放回抽样
4.11 使用SQL操作数据框
library(sqldf)
newdf <- sqldf("select * from mtcars where carb=1 order by mpg", row.names = TRUE)
newdf <- sqldf("select avg(mpg) as avg_mpg, avg(disp) as avg_disp,gear from mtcars where cyl in (4, 6) group by gear")
R语言实战读书笔记(四)基本数据管理的更多相关文章
- R语言实战读书笔记(五)高级数据管理
5.2.1 数据函数 abs: sqrt: ceiling:求不小于x的最小整数 floor:求不大于x的最大整数 trunc:向0的方向截取x中的整数部分 round:将x舍入为指定位的小数 sig ...
- R语言实战读书笔记(三)图形初阶
这篇简直是白写了,写到后面发现ggplot明显更好用 3.1 使用图形 attach(mtcars)plot(wt, mpg) #x轴wt,y轴pgabline(lm(mpg ~ wt)) #画线拟合 ...
- R语言实战读书笔记(二)创建数据集
2.2.2 矩阵 matrix(vector,nrow,ncol,byrow,dimnames,char_vector_rownames,char_vector_colnames) 其中: byrow ...
- R语言实战读书笔记1—语言介绍
第一章 语言介绍 1.1 典型的数据分析步骤 1.2 获取帮助 help.start() help("which") help.search("which") ...
- R语言实战读书笔记2—创建数据集(上)
第二章 创建数据集 2.1 数据集的概念 不同的行业对于数据集的行和列叫法不同.统计学家称它们为观测(observation)和变量(variable) ,数据库分析师则称其为记录(record)和字 ...
- R语言实战读书笔记(八)回归
简单线性:用一个量化验的解释变量预测一个量化的响应变量 多项式:用一个量化的解决变量预测一个量化的响应变量,模型的关系是n阶多项式 多元线性:用两个或多个量化的解释变量预测一个量化的响应变量 多变量: ...
- R语言实战读书笔记(六)基本图形
#安装vcd包,数据集在vcd包中 library(vcd) counts <- table(Arthritis$Improved)counts # 垂直barplot(counts, main ...
- R语言实战读书笔记(一)R语言介绍
1.3.3 工作空间 getwd():显示当前工作目录 setwd():设置当前工作目录 ls():列出当前工作空间中的对象 rm():删除对象 1.3.4 输入与输出 source():执行脚本
- R语言实战读书笔记(十三)广义线性模型
# 婚外情数据集 data(Affairs, package = "AER") summary(Affairs) table(Affairs$affairs) # 用二值变量,是或 ...
随机推荐
- 抛弃jQuery 深入原生的JavaScript
虽然我已经做网站建设工作10多年了,但我从最近3年才开始更多地学习如何更好的将纯JavaScript用于工作中,而不总是将jQuery考虑在第一位.现在我每天学习很多东西.这个过程让我觉得Adtile ...
- 帝国cms无法注册登录快速解决方法 附路径
帝国cms安装相对比较简单,一路next,一般从网上下载的系统都会带一些数据,恢复备份数据后,清除缓存,更新数据,一个copy版的网站就出来了.但是为了se的友好需要改动很多地方,不然很容易被认为是s ...
- Sqli-labs less 56
Less-56 与less54.55形式是一致的,我们关注sql语句, $sql="SELECT * FROM security.users WHERE id=('$id') LIMIT 0 ...
- [排序] 快排 && 冒泡(自己写)
#include <iostream> using namespace std; /* 快速排序 通过一趟排序,以轴点为界 分割为两部分:左部分 <= 轴点 <= 右部分 再分 ...
- LCT模板
之前一直用的LCT模板,因为其实个人对LCT和Splay不是很熟,所以用起来总觉得略略的坑爹,过了一段时间就忘了,但事实上很多裸的LCT要改的东西是不多的,所以今天写了些注释,以后可能套起模板来会得心 ...
- iOS-CAShapelayer
1.CAShapeLayer继承至CALayer,可以使用CALayer的所有属性值2.CAShapeLayer需要与贝塞尔曲线配合使用才有意义3.使用CAShapeLayer与贝塞尔曲线可以实现不在 ...
- 10个免费开源的JS音乐播放器插件
点这里 音乐播放器在网页设计中有时候会用到,比如一些时尚类.音乐或影视类等项目,但这些 网页播放器 插件比较少见,所以这里为大家整理一个集合,也许会有用到的时候. 下面整理的播放器有些是支持自适应的, ...
- D&F学数据结构系列——AVL树(平衡二叉树)
AVL树(带有平衡条件的二叉查找树) 定义:一棵AVL树是其每个节点的左子树和右子树的高度最多差1的二叉查找树. 为什么要使用AVL树(即为什么要给二叉查找树增加平衡条件),已经在我之前的博文中说到过 ...
- 基于RPC原理的dubbo
在校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示.这些程序的特点是服务消费方和服务提供方是本地调用关系. 而一旦踏入公司尤其是大型互联网公司就会发现,公司的系 ...
- DIV CSS设计时IE6、IE7、FF 与兼容性有关的特性(转载的)
在网站设计的时候,应该注意css样式兼容不同浏览器问题,特别是对完全使用DIV CSS设计的网,就应该更注意IE6 IE7 FF对CSS样式的兼容,不然,你的网乱可能出去不想出现的效果! 所有浏览器 ...