接下来一段时间实际工作中可能R用的会比较多,这里总结一下笔记。
1.基础
函数c()以向量的形式输入数据。
mean()、sd()、cor()分别获得体重的均值、标准差和相关度。
q()退出R。
help.start()打开帮助文档首页。
help("foo")或?foo查看函数foo的帮助。
example("foo")获得函数foo的使用实例。
apropos("foo",mode="function")列出名称中含有foo的所有可用函数。
data()列出当前已加载包中所含的所有可用示例数据集。
vignette()列出当前已安装包中所有可用的vignette文档。
getwd()查看当前的工作目录,setwd()设定当前的工作目录,setwd()不会创建一个不存在的目录,如果有必要的话用dir.create()来创建。
ls()列出当前工作空间的对象。
options()显示或设置当前选项。
source("filename")在当前会话执行一个脚本。
sink("filename",append=True)将输出重定向到文件filename中,添加append参数防止覆盖。
用于保存图形输出的函数:
- bmp("filename.bmp")
- jpeg("filename.jpg")
- pdf("filename.pdf")
- png("filename.png")
- svg("filename.svg")
- postscript("filename.ps")
library()显示库中有哪些包。
install.packages(“foo”)安装包。
library(foo)载入包。
2、数据结构
2.1 向量
用函数c()创建,单个向量中的数据必须拥有相同的类型或模式(数值型、字符型或逻辑型)。
标量是只含一个元素的向量。
注意R中下标是从1开始的,与Python区别。
2.2 矩阵
通过函数matrix()创建,同样也只能包含一种数据类型,维度为1。
my_matrix <- matrix(vector,nrow=number_of_rows,ncol=number_of_columns,
byrow=logical_value,dimnames=list(char_vector_rownames,char_vector_colnames))
其中nrow和ncol用以指定行和列的维数,dimnames包含了可选的、以字符型向量表示的行名和列名,byrow表明矩阵
按行进行填充(byrow=True),默认是按列填充。
X[i,j]指代第i行第j个元素。
2.3 数组
数组与矩阵类似,但是维度可以大于2,通过array()函数来创建。
my_array <- array(vector,dimentions,dimnames)
其中dimentions参数是一个数值型向量,给出了各个维度下标的最大值。
2.4 数据框
通过data.frame()创建,每一列的数据类型必须相同。
my_data <- data.frame(col1,col2,col3,..)
table()函数生成列联表。
with (mycars,{
nokeepstats <- summary(mpg)
keepstats <<- summary(mpg)
})
其中<<-可以将对象保存到with()之外的全局变量中。
2.5 因子
函数factor()以一个整数向量的形式存储类别值。
> status <- c("Poor","Improved","Excellent","Poor")
> status <- factor(status,ordered = TRUE,levels = c("Poor","Improved","Excellent"))
> status
[1] Poor Improved Excellent Poor
Levels: Poor < Improved < Excellent
> str(status)
Ord.factor w/ 3 levels "Poor"<"Improved"<..: 1 2 3 1
其中str()函数可以提供R中某个对象的信息。
2.6 列表
是R中最复杂的数据类型,一般列表是一些对象的有序集合。
3、数据的输入
函数edit()会自动调用一个允许手动输入数据的文本编辑器。
使用read.table()从带分隔符的文本文件中导入数据,注意默认情况下会将字符转换成因子,可以通过stringAsFactors=FALSE去掉这个行为。
导入Excel数据:
library(xlsx)
data <- read.xlsx(filename,options)
导入XML数据:www.omegahat.org/RSXML
访问数据库:RODBC包
处理对象的实用函数 :
- length()显示对象中元素、成分的数量;
- dim()显示对象的维度
- str()显示对象的结构
- class()显示对象的类或类
- mode()显示某个对象的模式
- names()显示某对象中各成分的名称
- c()将对象合并入一个向量
- cbind()按列合并对象
- rbind()按行合并对象
- object输出某个对象
- rm(object1,object2,...)删除一个或更多个对象
- fix(object)直接编辑对象