R in action读书笔记(2)-第五章:高级数据管理(下)
5.4 控制流
语句(statement)是一条单独的R语句或一组复合语句(包含在花括号{ } 中的一组R语
句,使用分号分隔);
条件(cond)是一条最终被解析为真(TRUE)或假(FALSE)的表达式;
表达式(expr)是一条数值或字符串的求值语句;
q 序列(seq)是一个数值或字符串序列。
q 5.4.1重复和循环
q 1.for结构 循环重复地执行一个语句,直到某个变量的值不再包含序列seq中为止
q 语法:for(var in seq) statement
q 2.while结构 循环重复地执行一个语句,知道条件不为真为止
q 语法:while(cond) statement
q 5.4.2条件执行
q 1.if-else结构 控制结构if-else在某个给定条件为真时执行语句。也可以同时在条件为假时执行另外的语句。
q 语法:if (cond) statement
q If(cond)statement1 else statement2
q 2.ifelse结构 是if-else结构比较紧凑的向量化版本
q 语法:ifelse(cond,statement1,statement2) #cond=TRUE 执行statement1;FALSE时执行statement2
q 3.switch结构 根据一个表达式的值选择语句执行
q 语法:switch(expr,…)
q 5.5用户自编函数
q 结构:myfunction<- function(arg1,arg2,…){
q statements
q return
q }
q 注:一旦开始编写无论任何长度和复杂度的函数,优秀调试工具的重要性都会凸显出来。R中有许多实用的内建调试函数,也有许多用户贡献包提供了额外的功能。关于这个话题,一份优秀的参考资料是DuncanMurdoch整理的“Debugging in R”(http://www.stats.uwo.ca/faculty/murdoch/software/debuggingR)。
q 5.6整合与重组 (aggregate & reshape)
q 5.6.1转置
使用函数t()即可对一个矩阵或数据框进行转置。对于后者,行名将成为变量(列)名。
5.6.2整合数据
在R中使用一个或多个by变量和一个预先定义好的函数来折叠(collapse)数据是比较容易的。
调用格式为:aggregate(x,by,FUN)
其中x是待折叠的数据对象,by是一个变量名组成的列表,这些变量将被去掉以形成新的观测,
而FUN则是用来计算描述性统计量的标量函数,它将被用来计算新观测中的值。
5.6.3reshape包
reshape包是一套重构和整合数据集的绝妙的万能工具。
1、 融合
数据集的融合是将它重构为这样一种格式:每个测量变量独占一行,行中带有要唯一确定这个测量所需的标识符变量。例:
Library(reshape)
Md<-melt(mydata,id=(c(“id”,””time”))))
2、 重铸
cast()函数读取已融合的数据,并使用你提供的公式和一个(可选的)用于整合数据的函数将其重塑。调用格式为:newdata<-cast(md,formula,FUN)
其中的md为已融合的数据,formula描述了想要的最后结果,而FUN是(可选的)数据整合函数。
R in action读书笔记(2)-第五章:高级数据管理(下)的更多相关文章
- 《LINUX内核设计与实现》读书笔记之第五章
第五章——系统调用 5.1 与内核通信 1.为用户空间提供一种硬件的抽象接口 2.保证系统稳定和安全 3.除异常和陷入,是内核唯一的合法入口. API.POSIX和C库 关于Unix接口设计:提供机制 ...
- Linux内核分析 读书笔记 (第五章)
第五章 系统调用 5.1 与内核通信 1.调用在用户空间进程和硬件设备之间添加了一个中间层.该层主要作用有三个: 为用户空间提供了硬件的抽象接口. 系统调用保证了系统的稳定和安全. 实现多任务和虚拟内 ...
- 《深入理解java虚拟机》读书笔记四——第五章
第五章 调优案例分析与实战
- R in action读书笔记(20)第十五章 处理缺失数据的高级方法
处理缺失数据的高级方法 15.1 处理缺失值的步骤 一个完整的处理方法通常包含以下几个步骤: (1) 识别缺失数据: (2) 检查导致数据缺失的原因: (3) 删除包含缺失值的实例或用合理的数值代替( ...
- R in action 读书笔记(1)--第五章:高级数据管理
5.2.1数学函数 函数 描述 abs(x) 绝对值 sqrt(x) 平方根 ceiling(x) 不小于x的最小整数 floor(x) 不大于x的最大整数 trunc(x) 向0的方向截取的X中的整 ...
- 《R语言实战》读书笔记--第五章 高级数据管理
本章内容: 数学和统计函数 字符处理函数 循环和条件执行 自编函数 数据整合与重塑 5.1一个数据处理难题 5.2数值和字符处理函数 分为数值函数和字符串函数,下面是数学函数截图: ceiling.f ...
- R in action读书笔记(22)第十六章 高级图形进阶(下)
16.2.4 图形参数 在lattice图形中,lattice函数默认的图形参数包含在一个很大的列表对象中,你可通过trellis.par.get()函数来获取,并用trellis.par.set() ...
- R in action读书笔记(5)-第七章:基本统计分析
7.1描述性统计分析 > vars<-c("mpg","hp","wt") > head(mtcars[vars]) ...
- R in action读书笔记(21)第十六章 高级图形进阶(上)
16.1 R 中的四种图形系统 基础图形函数可自动调用,而grid和lattice函数的调用必须要加载相应的包(如library(lattice)).要调用ggplot2函数需下载并安装该包(inst ...
随机推荐
- mac for smartSVN9 (8,9)破解方法 附smartSvn_keygen工具图文
mac for smartSVN9 (8,9)破解方法 附smartSvn_keygen工具 工具文件下载: http://files.cnblogs.com/files/xueshanshan/s ...
- leetCode(26):Unique Binary Search Trees
Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For examp ...
- Deep Learning 30: 卷积理解
一.深度卷积神经网络学习笔记(一): 1. 这篇文章以贾清扬的ppt说明了卷积的实质,更说明了卷积输出图像大小应该为: 假设输入图像尺寸为W,卷积核尺寸为F,步幅(stride)为S(卷积核移动的步幅 ...
- Android5.1修改以太网MAC地址(SElinux)【转】
本文转载自:http://blog.csdn.net/LoongEmbedded/article/details/71477203 最近高通平台Android5.1项目中有个关于设置以太网MAC的需求 ...
- ionic 和cordova的区别是什么
很多新朋友ionic基础教程都学完了,还是不知道ionic 和cordova 是什么关系 ionic是什么: Ionic(ionicframework)一款开源的Html5移动App开发框架,是Ang ...
- HubbleDotNet开源全文搜索数据库项目--技术详解
HubbleDotNet 简介 HubbleDotNet 和 Lucene.net 性能对比测试 HubbleDotNet 和 Lucene.Net 匹配相关度的比较 HubbleDotNet 软件架 ...
- linux内存管理之全局框架
讲解复杂繁琐的机制原理,最通俗的方法就是用模型架构的方式向读者呈现,先要在整体上了解大方向大架构,再根据大方向大架构来进行分支深入,犹如毛主席那句话“战略上蔑视敌人,战术上重视敌人”.下面我也以这种方 ...
- 《JAVA与模式》之迭代子模式
迭代子模式又叫游标(Cursor)模式,是对象的行为模式.迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象(internal representation). 聚集和JAVA聚集 多个 ...
- Redis: Redis Desk Manager Setup
ylbtech-Redis: Redis Desk Manager Setup 1.返回顶部 1. redis-desktop-manager-0.8.1.3847 2. 2. 安装返回顶部 1. 2 ...
- codeforces round #433 div2
A:枚举一下就行了...居然wa了一发,题目一定要看清 #include<bits/stdc++.h> using namespace std; int n; int main() { c ...