R语言学习心得
包的使用
- 安装包的方式:
- GUI安装
- 使用命令install.package(“包名”)
- 包的卸载:remove.package(“包名”)
- 包的加载:
- library(包名)
- require(包名):成功时返回true,失败时返回false
- require中可以开启quietly参数,隐藏加载时的提示信息
- 【注】有无引号无区别
- 取消包的加载:
- GUI界面清除该包前的复选框
- detach(”package:包名”)
- 如果加载的两个包中,有同名的函数,若不指定是哪个包中的,则默认该函数是最后一个被加载的包中的函数
- 使用::指定该函数是在哪个包中
- 查看当前加载的包:search()
基本语法
- >:命令提示符
- 变量的赋值的三种方式:
- <- (推荐!)
- =
- assign(“变量名”,变量值)
- 变量命名规则:数字 / 字母 / 句号 / 下划线
- 必须用字母开头
- remove(变量名), 简写rm()
- gc(): 用于释放操作系统不同的存储空间,回收垃圾
- R语言会自动回收垃圾
- R语言区分大小写
- R语言的数据类型
- 数值型(正、负的整数和小数)
- 这里有一个整数型,在整数后加一个L,以和数值进行区分
- 字符型
- 字符型变量:输出时有引号
- 因子型变量:输出时无引号,还有一个水平数(不重复的元素)
- levels按字典序排列
- 获取字符 / 数值的长度使用nchar(变量)
- 日期型
- Date:存储日期
- POSIXct:存储日期和时间
- lubrate 和 chron包处理日期时间上很方便
- 逻辑型
- 数值型(正、负的整数和小数)
- 判断类型用is,转换类型用as
- 向量的元素都是同一类型
- 对向量的操作会自动应用到向量的每一个分量
- 创建向量的方式是combine(简写c)或者 x:y (生成[x,y]之间的数字)
- 当处理两个不等长的向量时,较短的向量会循环补齐(循环重复),但前提是长向量的长度是短向量的整数倍,否则会有警告
- 注释的方法:行首前加 #
- all():检查所有元素是否全为true;any():检查所有元素中至少一个为true
- 获取向量中的元素用变量名[序号]
- 注:序号还可以用向量表示;序号从1开始
- names(变量名):查看或分配该变量中元素的名字
- 查看函数的帮助文档:
? 函数名
- 查看运算符的帮助文档:
? '运算符'
apropos("函数名称的一部分")
:用来查找函数- 两种缺失数据:
- NA:要存储
- NULL:不存储
- data.frame由向量组成
- nrow():获取行数;ncol():获取列数;dim():获取行数和列数
- list():创建列表,元素可以是数值、字符、数据框、列表
- 利用vector(mode=”list”, length=?)创建具有一定长度的空列表
- 通过
[[序号]]
访问列表中的一个元素 - 矩阵做加、减、乘、除运算,都是将对应元素做运算
- 矩阵乘(%*%)
- rownames,colnames,names适用于矩阵、数据框,其中names = colnames
- letters和LETTERS:存放小写和大写字母的列表
- t():矩阵的转置
- 数组的创建:
- 矩阵元素默认是按照列排列的
数据的导入
- 导入CSV文件
- CSV文件:是一个以
,
作为分隔符的文本文件 - 使用read.table()函数,返回一个数据框
- 使用方法:
- stringAsFactors参数(默认为TRUE),开启后会自动将字符型变量转为因子型变量,也可用于数据框的创建。设置为FALSE会减少运算时间
- 若单元格中已经存在分隔符,应该使用
read.csv2()
函数读入数据
- CSV文件:是一个以
- 导入数据库数据
- 安装RODBC包
- 使用步骤:
- 使用odbcConnect()创建一个连接
- 使用sqlQuery(连接对象,”sql语句”), 返回一个数据框
- 【注】一次只能打开一个连接,打开第二个时,第一个会退出
- .RData文件
- 创建文件:save(要保存的对象,file=位置)
- 加载文件:load(“文件的路径”)
- 使用在包中的数据:在引入包后,使用data(数据对象名)导入数据
- 【注】data():会返回可用的数据列表
- 导入网页表格中的数据
- 使用readHTMLTable(url, header=?, which=?, stringAsFactors=?)
- 【注】其中:which指定读取哪个表格
问题汇总
- 数据框取子集:subset(data.frame, data.frame$columnName operator “expression”)
- 写CSV文件:write.csv(data.frame, “fileName”)
- 为矩阵赋行名:rownames(); 赋列名:colnames()
- R语言对大小写敏感
- 删除变量就是将其赋值为NULL