Design2:数据层次结构建模之二
R是专门用于数据分析和统计的脚本语言,广泛应用在每一个需要统计和数据分析的领域。使用R做数据建模、数据统计和分析是一个发现未知和惊喜的旅程,前提,你必须迈出第一步,去学习R语言。R是一种解释型语言,这意味着代码在运行之前不需要编译,在学习R语言时,首先需要安装R,访问网站 https://www.r-project.org/,下载适合操作系统的R安装包,我下载的是用于Windows操作系统中的 R 3.4.2 版本;其次,一款好用的IDE,是学习路上的好助手,我推荐使用RStudio,这是一款专门用于R开发的开源集成开发环境(IDE),官方下载地址是:RStudio,RStudion集成了控制台程序(终端),本文通过控制台介绍R的使用。
R是一种区分大小写的解释性语言,R语句的分隔符是分号“;”,或换行符,当语句结束时,可以不使用分号“;”,R语言会自动识别语句结束的位置。R语言只支持单行注释,注释由符号#开头,当前行出现在#之后的任何文本都会被R解释器忽略。R脚本的一次执行叫做一个会话(Session),可以通过函数quit()退出当前的会话,
quit(save = "default", status = , runLast = TRUE)
q(save = "default", status = , runLast = TRUE)
在当前会话中创建的任何R对象(数据、函数、图形等)都保存在内存中。创建的变量都需要存储到到环境中,即环境是存储变量的地方,通常情况下,不需要直接跟环境打交道,R会自动创建环境来存储变量,例如,当分配一个变量时,该变量会自动存储到全局环境中,当调用函数时,R自动创建一个环境,用于存储与该函数相关的变量。
一,管理工作空间
工作空间(WorkSpace)是当前R的工作环境,存储着用户定义的所有对象(向量,矩阵,函数,数据框,列表,函数等)。在一个R会话结束时,用户可以把当前的工作空间保存导一个镜像(image)文件中,并在下次启动R时自动载入。
1,保存工作空间
把工作空间保存到镜像文件中,扩展名默认是.RData。
save.image("myfile")
2,载入工作空间
从镜像文件中读取数据,把工作空间读取到当前的会话中
load("myfile")
3,列出当前工作空间的对象
在当前工作空间中创建的变量都存储在内存中,ls()和objects() 用于列出指定环境中的对象:
ls(pattern)
参数 pattern是正则表达式,只有名称匹配该pattern的变量才会返回。缺失该参数(ls()),表示返回当前环境中的所有变量名。
4,移除当前工作空间的对象
rm()和 remove() 用于移除工作空间中的对象,这两个函数的定义和作用是一样的:
rm (..., list = character(), pos = -,
envir = as.environment(pos), inherits = FALSE)
移除当前工作空间中的所有内存变量:
rm(list=ls())
5,空间空间选项
例如,空间小数位数为2,digits: controls the number of digits to print when printing numeric values.
options(digits=)
二,工作目录
工作目录(Working Directory)是R用来读取文件和保存结果的默认目录,如果需要读取一个不在当前工作目录下的文件,则需要在调用语句中写明完整的路径。
1,查看当前的工作目录
getwd()
2,设置当前的工作目录
setwd("mydirectory")
在Windows系统中,R将反斜杠(\)视为一个转移字符,setwd("c:\myfile")会报错,两个反斜杠"\\"代表一个反斜杠,正确的写法是:
setwd("c:/myfile")
setwd("c:\\myfile")
三,输入和输出
用户可以执行写在一个脚本文件中的命令,并可以直接把结果输出到不同的目标文件中。
1,执行脚本文件
函数source("file"),在当前会话中执行一个R脚本,如果文件名中不包括路径,R会到当前的工作目录中查找脚本文件。R引擎执行脚本文件之后,把结果保存到内存中,需要重定向输出,才能看到输出的文本或图形。
source("myfile")
2,重定向文件输出
函数sink("file")把输入重定向到文件中,默认情况下,如果文件已经存在,则它的内容会被覆盖。使用参数append=TRUE可以把输出的数据追加到文件的末尾,而不是覆盖。参数split=TRUE,指定把输出同时发送到屏幕和文件中,不加参数调用命令sink(),将仅向屏幕返回输出结果。
sink("file")
3,重定向图形输出
用于保存图形输出的常用函数有如下三个:
bmp("file.bmp")
jpeg("file.jpg")
pdf("file.pdf")
最后使用dev.off()把图形输出,返回到终端。
四,控制台操作
在控制台(Console)中输入的任何命令,都被记录下来,用户可以通过上/下方向键查看(上翻/下翻)已输入的命令。
当输入的命令很多时,可以通过快捷键 Ctrl+L 可以清空控制台,但不会清空命令的历史记录。
五,获取帮助
help("function")函数用于查看函数的帮助,引号可以省略,也直接使用?fun来获取帮助:
help("q")
?q
如果使用RStudio,可以直接通过Help菜单获取帮助:

六,加载示例数据集
step1,使用data()函数列出当前已经加载包中所有的所有可用示例数据集,例如
->data()
step2,把示例数据集载入到当前的会话中,也就是把dataset_name对应的对象加载到当前会话中,用户可以直接在会话中通过dataset_name直接引用:
>data("dataset_name")
>data(dataset_name)
当对系统数据集进行编辑之后,想要恢复(restore)该数据集,做法是删除该数据集:
rm(dataset.name)
这是因为R环境的处理方式决定的,R_GlobalEnv 环境(“全局变量环境”)把全局变量隐藏在库中,但它们不会被覆盖。 当GlobalEnv环境中的变量名称被清除后,该库将再次成为评估该变量名称的默认结果。
七,调整画布设备
在Windows操作系统中,执行以下代码调整画布的大小:
win.graph(width=4.875, height=2.5,pointsize=)
参考文档:
Design2:数据层次结构建模之二的更多相关文章
- Design3:数据层次结构建模之二
SQL Server提供了一个新的数据类型 HierarchyID,用来处理层次结构的数据,这个数据类型是系统内置的CLR数据类型,不需要专门激活 SQL/CLR 功能即可使用.当需要表示各值之间的嵌 ...
- Design1:数据层次结构建模之一
1,在现实世界中,有很多现象存在层次结构,公司的人事职称是典型的层次结果,如下图 Sql Server是关系型DB,适合存储二维关系的数据,如何存储具有层次结构的数据了?需要使用一个字段ParentI ...
- ApacheCN 大数据译文集(二) 20211206 更新
Hadoop3 大数据分析 零.前言 一.Hadoop 简介 二.大数据分析概述 三.MapReduce 大数据处理 四.基于 Python 和 Hadoop 的科学计算和大数据分析 五.基于 R 和 ...
- 将Excel中数据导入数据库(二)
在上篇文章中介绍到将Excel中数据导入到数据库中,但上篇文章例子只出现了nvachar类型,且数据量很小.今天碰到将Excel中数据导入数据库中的Excel有6419行,其中每行均有48个字段,有i ...
- Ajax实现xml文件数据插入数据库(二)--- ajax实现与jsp的数据交互。
在上一篇文章中我们成功得到了重新组织后的数据,接下来需要做的便是将数据插入到数据库中了.在与数据库打交道的过程中有一些方法是普遍的,我们将这些通用方法封装到一个DbUtil类中,以便复用,封装好的Db ...
- Mego开发文档 - 数据注释建模
数据注释建模 Mego框架使用一组约定来基于CLR类来构建模型.您可以指定其他配置来补充或覆盖通过约定发现的内容. 在 Mego 中所有的数据对象必须要有主键.这里需要声明与EF不同的是框架只支持数据 ...
- Mongodb同步数据到hive(二)
Mongodb同步数据到hive(二) 1. 概述 上一篇文章主要介绍了mongodb-based,通过直连mongodb的方式进行数据映射来进行数据查询,但是那种方式会对线上的 ...
- CAD把当前图上数据保存为一个二进流对象(com接口VB语言)
主要用到函数说明: MxDrawXCustomFunction::WriteBinStreamEx 把当前图上数据保存为一个二进流对象,详细说明如下: 参数 说明 LPCTSTR pszPasswor ...
- QuickBI助你成为分析师-数据建模(二)
摘要: 数据集编辑功能界面介绍以及常见问题总结. 在数据集编辑界面可以进行数据建模来更好的展示数据,创建数据集默认将数值类型字段作为度量,日期.字符串等类型作为维度,度量可以根据维度分组展示.下面来介 ...
随机推荐
- KIWI Syslog配置
日志服务器Kiwi+Syslogd+8.3.7破解版 Window收集服务器日志evtsys_exe_32 默认地,kiwi使用UDP 514端口接收日志数据,安装成功后即可接收日志 使用命令nets ...
- POJ 2352 Stars(树状数组)
Stars Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 30496 Accepted: 13316 Descripti ...
- Matlab 运行C程序出现的编译出错问题
2016-03-18 17:18:34 最近在运行一些公开的Matlab代码包时,比如LibSVM.crfChain等,遇到了需要在Matlab环境下编译C程序的问题,对于我所遇到的问题,给出以下解决 ...
- Win10 设置外网多用户远程桌面连接
主要原理:利用路由器的虚拟服务器功能,将内网的Ip地址通过端口映射提供给外网,使得外网能够访问到目的主机. 1. 配置路由器上的虚拟服务器,假设目的主机内网的ip为192.168.1.100,则配置如 ...
- Linux环境下解压超过4GB的zip文件
今天在Linux服务器中解压一个zip的压缩包,提示如下错误信息: [root@appsrv01 ZIP_BCSA_COURSES]# unzip BCSA_MEDIAS_BAK_20161118.z ...
- .NET开发的大型网站列表、各大公司.NET职位精选,C#王者归来
简洁.优雅.高效的C#语言,神一样的C#创始人Anders Hejlsberg,async/await编译器级异步语法,N年前就有的lambda表达式,.NET Native媲美C++的原生编译性能, ...
- Android 高仿微信支付密码输入控件
像微信支付密码控件,在app中是一个多么司空见惯的功能.最近,项目需要这个功能,于是乎就实现这个功能. 老样子,投篮需要找准角度,变成需要理清思路.对于这个"小而美"的控件,我们思 ...
- Ubuntu iptables配置
sudo su sudo apt-get install iptables-persistent modprobe ip_tables #启动iptable #删除原有iptables规则 ipt ...
- Java设计模式4:单例模式
前言 非常重要,单例模式是各个Java项目中必不可少的一种设计模式.本文的关注点将重点放在单例模式的写法以及每种写法的线程安全性上.所谓"线程安全性"的意思就是保证在创建单例对象的 ...
- dojo/dom-geometry元素大小
在进入源码分析前,我们先来点基础知识.下面这张图画的是元素的盒式模型,这个没有兼容性问题,有问题的是元素的宽高怎么算.以宽度为例,ff中 元素宽度=content宽度,而在ie中 元素宽度=conte ...