R语言学习笔记

前文有数据可视化系列,R是实现数据可视化很重要的工具。我以前是没接触过的R,想看看几个小时能学习多少。在开始之前,我先确定一下,对我而言,R是一个用于数据分析的工具,我会用它做一些领域内的数据分析和可视化工作,因而暂时不会涉及高级的R操作。

关于R的基础介绍

  • R是开源的,在很多系统上都可以免费试用
  • R除了是数据可视化的非常重要强大的工具,也可以处理非常多的统计问题。
  • R支持交互式数据探索,可以随时保存当前结果并作为进一步的输入。
  • R可以从多个数据源导入数据
  • R包含了一些先进的统计计算例程
  • R提供了良好的GUI工具
  • R的学习曲线相对较为陡峭

在线获取帮助

  • help("test_function") 查看test_function函数的帮助
  • example("test_function")获取该函数的使用用例
  • help.start()打开帮助文档首页,获取入门和高级帮助手册,常见问题集。
  • RisteResearch("test_function")以函数名为关键词搜索在线文档和邮件列表存档。

工作空间内命令

  • dir.create() 创建新目录
  • getwd() setwd() 显示\设置当前已存在的目录
  • ls() 列出当前工作空间中的对象
  • rm(objectlist)移动\删除一个或多个对象
  • history(#) 显示最近使用过的#个命令
  • savehistory"myfile" loadhistoy"myfile"保存历史命令到特定文件中 从特定文件中加载历史命令
  • optipns() 显示或设置当前选项
  • help(options) 显示当前可用项的说明
  • save.iamge("myfile") 保存工作空间到myfile中
  • load("myfile")读取一个工作到制定会话中
  • q() 退出

基本语法

  • 赋值。赋值符号 <- 赋值语句示例 test <- rnorm(2),创建了一个命名为test的向量对象。
  • 普通输出。 sink()向屏幕输出结果,sink("filename", append=TRUE) 输出重定向到文件中,添加在文章末尾不覆盖。
  • 图形输出。pdf("filename.pdf")输出pdf文件。jpeg("filename.jpg")输出jpeg文件。执行后使用dev.off()返回终端

R的数据结构及数据组织

一些基础预备概念
  • 数据集中行和列有不同的叫法,典型的如”观测和变量”,”记录和字段”,”示例”和”属性”。
  • R中的对象指可以赋给变量的任何事物,包括但不限于常量,函数,数据结构等。
  • R中对象都包含某种模式,描述该对象如何存储,以及某个类如何处理该对象。
  • R中的数据框的列存储变量,行表示观测(记录),这会是R中一个重要数据结构。
  • 因子是名义型变量或有序型变量。
数据结构
  • 向量。a <- c(1,5,3) 功能函数c()可以创建向量,内部参数可以为数据型、字符型、布尔型
  • 矩阵。mymatrix <- matrix(vector,nrow,ncol,byrow,dimnames)各参数含义依次为矩阵元素、行列数目,按行填充还是按列填充、行名列名。功能函数matrix()可以创建矩阵。
  • 数组。 数组与矩阵类似,主要特点在于维度可以大于2。myarray <- araay(vector,dimensions,dimnames)。dimensions给出各维度下标最大值。dimnames给出各维度标签列表。
  • 数据框。 mydata <- data.frame(col1,col2...)
  • 因子factor_test <- factor(vector)关键点在于转换后的因子会和原向量的分量以一一对应因子变量包括名义型(类别),如中午吃的午餐类别和有序类别(有序型)(如病情转变))
  • 列表。mylist <- list(object1,object2...) 列表中对象是任何对象。
数据输入方式
  • 使用键盘。采用edit()函数,mydada <- data.frame(ID=numeric(0),...) mydata <- edit(mydata) numeric(0)表示创建一个指定数据模式但不包含具体数字的变零
  • 从带分隔符的文件导入。采用read.table()函数。mydata <- read.table(file,header=,sep=,row.names=),变量含义依次为文件名,首行是否包含变量名,分隔符,指定一个作为行标识符的变量。
  • 导入excel数据。将其保存为csv文件,使用上面的方法。
  • 其他可导入xml格式、网页数据、SPSS数据、SAS数据、Stata数据、netCDF文件、HDF5数据
  • 访问数据库管理系统。使用ODBC接口、DBI相关包。
数据集标签(待续)

包组织和管理

  • 包的定义。 包是函数、数据、预编译代码的组合。存储包的目录称为库
  • 包的查询。 test_function.libPaths() 显示库所在的位置。 library() 显示库中的包。installed.packages()列出所有已经安装的包。
  • 包的安装。 install.packages("gluons") 安装了一个包gluons。
  • 包的载入。 library(gclus) 包只有在载入后才能用,如果想长期载入,可自定义启动环境。
0%