R学习笔记:了解R的使用
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=)
参考文档:
R学习笔记:了解R的使用的更多相关文章
- R学习笔记-安装R和RStudio,注意RStudio的版本需要与操作系统版本匹配
1.安装步骤:先安装R,再安装RStudio RStudio是R的集成开发工具,本身不带R环境. 2.从当前R的官网和RStudio下载的R和RStudio的版本分别为: A .For Windows ...
- R学习笔记(4): 使用外部数据
来源于:R学习笔记(4): 使用外部数据 博客:心内求法 鉴于内存的非持久性和容量限制,一个有效的数据处理工具必须能够使用外部数据:能够从外部获取大量的数据,也能够将处理结果保存.R中提供了一系列的函 ...
- R学习笔记 ---- 系列文章
R实战 开篇:介绍R的使用 R学习笔记 第五篇:字符串操作 R学习笔记 第六篇:数据变换和清理 R学习笔记 第四篇:函数,分支和循环 R学习笔记 第三篇:数据框 R学习笔记 第二篇:矩阵.数组和列表 ...
- R学习笔记 第四篇:函数,分支和循环
变量用于临时存储数据,而函数用于操作数据,实现代码的重复使用.在R中,函数只是另一种数据类型的变量,可以被分配,操作,甚至把函数作为参数传递给其他函数.分支控制和循环控制,和通用编程语言的风格很相似, ...
- R学习笔记 第五篇:字符串操作
文本数据存储在字符向量中,字符向量的每个元素都是字符串,而非单独的字符.在R中,可以使用双引号,或单引号表示字符,函数nchar用于获得字符串中的字符数量: > s='read' > nc ...
- R语言入门学习笔记 - 对R软件的认识
一.R软件 1.安装R:自行百度☺ 2.R控制台(R Console)和R程序脚本: 打开R软件,就会直接打开控制台,控制台可以显示程序运行的结果.错误提示等信息,也可以直接输入想要执行的操作并立即返 ...
- R学习笔记 第五篇:数据变换和清理
在使用R的分组操作之前,首先要了解R语言包,包实质上是实现特定功能的,预先写好的代码库(library),R拥有大量的软件包,许多包都是由某一领域的专家编写的,但并不是所有的包都有很高的质量的,在使用 ...
- R学习笔记
把学习过程记载下来,加深印象,到时要是忘了也容易查,有需要的同学也可以参考: 1.包的安装:两种方法:一种通过R的菜单,先设定cran镜像,然后安装程序包,会出来一个列表,选择相应程序包安装,安装完毕 ...
- R学习笔记 第二篇:矩阵、数组和列表
向量是一维的,只有长度(行),没有其他维度.R中存在更高维度的对象,他们是矩阵,数据框,数组.这些对象的下标都是使用中括号[],第一个维度是row,第二个维度是column,依次类推,[row,col ...
随机推荐
- python中强大的format函数
自python2.6开始,新增了一种格式化字符串的函数str.format(),此函数可以快速处理各种字符串.语法 它通过{}和:来代替%. 请看下面的示例,基本上总结了format函数在python ...
- arduino笔记
接下来,初来博客,准备自己也写一系列的arduino的学习经验. http://zhongbest.com/2017/05/23/arduino%e4%b8%ad%e7%9a%84%e4%b8%ad% ...
- linux_定时任务
什么是定时任务? linux系统自身定期执行的任务和工作: 轮训系统日志.备份系统数据.清理缓存等 var/log/messages # 系统日志文件, ll /etc/|grep cron # 查询 ...
- Curl是什么,原文地址:http://www.phpchina.com/portal.php?mod=view&aid=40161
Curl是什么PHP supports libcurl, a library created by Daniel Stenberg, that allows you to connect and co ...
- JavaScript this浅析
在做聊天室的过程中,我遇到了一个小问题,在javascrip中,有没有和c语言中的静态变量类似的对象呢? 答案就在闭包之中. 而说到闭包,又得说说那个我视之如地雷的this.this搞明白了,闭包这东 ...
- yum 安装zabbix2.4 /3.2.4
yum 安装zabbix2.4 首先zabbix需要的环境是web环境,默认的是lamp或者lnmp,讲道理,要是使用tomcat也是可以的,不过实验没有成功 系统:centos6.8_x64 附yu ...
- MySQL--当事务遇到DDL命令
众所周知MySQL的DDL语句是非事务的,即不能对DLL语句进行回滚操作,哪在事务中包含DDL语句会怎样呢? 如: #禁用自动提交 set autocommit=off; #创建tb1 create ...
- mysql修改root用户密码
自我总结,欢迎拍砖! 目的:若root用户密码忘记,则需要重新设置root用户的密码. 步骤: 1.找到mysql安装目录下的 my.ini 文件,找到[mysqlId]一行,在下方添加语句:skip ...
- SQL Server比较2table字段的差异
由于项目前后用了2个数据库,需要统计数据库结构的变化,需要统计每个表的变化,由于人工核对挺浪费时间,就写了一点代码: 1.统计表的字段数量(查询表有多少列): select count(name) ...
- java之拦截器Interceptor
1,拦截器的概念 java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了 ...