加载中…
正文 字体大小:

[数据挖掘.R]初识R之R基础学习

(2013-07-29 00:44:57)
标签:

数据挖掘

r

基础

分类: 数据挖掘
[资源/:R参考卡片 [资源/2006-04:R入门V2.0 [资源/2006-06:R导论 [资源/2013-02:153分钟学会R@刘思喆 ]

R常用函数

help(topic) —— 获取topic的帮助信息(参数try.all.packages设置搜索载入内存中的包/所有包)。
      使用"?topic"可以达到同样效果。
help(package='packagename') —— 了解R软件包的相关信息。
help.search("topic") —— 搜索帮助系统。
RSiteSearch() —— 如果还未找到需要资料也许你想试试它。
apropos("tab") —— 搜索载入内存所有包含tab的函数。
update.packages(checkBuilt=TRUE,ask=FALSE) —— 更新已安装的包。
install.packages()/remove.packages() —— 安装/卸载包。
.packages(all.available=TRUE) —— 本地安装的包列表。
library()/detach() —— 加载/分离包。
search() —— 当前加载的包列表。
ls() —— 显示R环境中的对象名字,ls.str()将会展示内存中所有对象的详细信息。
rm(list=ls(all=TRUE)) —— 清除内存中所有对象。
gc() —— 释放R运行占用的内存。
getwd()/setwd() —— 获取/设置工作目录。
file.choose()/choose.dir —— 打开Windows标准文件/目录选择对话框。
save.image() —— 保存工作空间对象。
sink("out.txt") —— 重定向输出流到文件,sink()则输出到控制台。
source() —— 执行R脚本。对需要显示输出的对象使用print(),或者使用source(file,echo=TRUE)。
      如果R代码里面包含sink()之类的函数,必须使用source(file,echo=TRUE)才能得到正确的输出结果。
system.time() —— 计算函数运行使用的时间——两次使用proc.time(),但更短的则需要使用两次Sys.time()。

mode() —— 给出对象的类型。
length() —— 给出对象的长度。
attributes() —— 给出对象详细特征,对象当前定义的非内在属性。
which() —— 返回逻辑向量TRUE值的索引。
paste() —— 连接参数并转化为字符。
nchar() —— 计算字符个数。
strwrap() —— 分段字符串。
parse() —— 字符串转化为表达式。
eval_r() —— 求解表达式。
data()$.. —— 载入R内置数据集(datasets包中提供了102个可用的数据集)。
read.table("clipboard")/write.table("clipboard") —— 读/写内存数据。
rep() —— 重复一个对象。
as.something() —— 对象数据模式强制转换。
aperm(a,perm) —— 修改数组维度,新数组第j个维度为perm[j]。
merge() —— 合并两个数据框。
apply(X,margin,fun) —— 对矩阵按行/列做计算,类似有lapply/sapply/tapply等。
outer(a,b,fun) —— 数据向量a的元素和b的元素的所有可能组合的函数结果。

R数据基础

下表给出了表示数据的对象的类别概览:
[数据挖掘.R]初识R之R基础学习
向量是一个变量,其意思也即人们通常认为的那样;因子是一个分类变量;数组是一个k维的数据表;(矩阵是数组的一个特例,其维数k = 2);数据框是由一个或几个向量和/或因子构成,它们必须是等长的,但可以是不同的数据类型;"ts"表示时间序列数据,它包含一些额外的属性,例如频率和时间;列表可以包含任何类型的对象,包括列表!

向量(Vector) 函数vector有两个参数:类型(mode)和长度(length),创建的向量中元素值取决于参数所指定的数据类型:数值型向量则元素值都为0,逻辑型都为FALSE,字符型都为""。以下三个函数有几乎相同的效果(创建一个向量)并且只有一个参数即长度:numeric(),logical(),和character()。

因子(Factor) 一个因子不仅包括分类变量本身还包括变量不同的可能水平(即使它们在数据中不出现)。因子函数factor用下面的选项创建一个因子:
factor(x, levels = sort(unique(x), na.last = TRUE), labels = levels, exclude = NA, ordered = is.ordered(x))
levels 用来指定因子可能的水平(缺省值是向量x中互异的值);labels用来指定水平的名字;exclude表示从向量x中剔除的水平值;ordered是一个逻辑型选项用来指定因子的水平是否有次序。

矩阵(Matrix) 一个矩阵实际上是有一个附加属性(维数dim)的向量,维数即为一个长度为2的向量,用来指定矩阵的行数和列数。一个矩阵可以用函数matrix来创建:
matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)
选项byrow表示数据给出的值是要按列填充(缺省值)还是按行填充(如果为TRUE)。可以通过选项dimnames给行列命名。

数据框(Data frame) 前面我们已经看到一个数据框可以由函数read.table间接创建;这里也可以用函数data.frame来创建。数据框中的向量必须有相同的长度,如果其中有一个比其它的短,它将“循环”整数次(以使得其长度与其它向量相同)。

列表(List) 列表可以用list函数创建,方法与创建数据框类似。它对其中包含的对象没有什么限制。和data.frame()比较,缺省值没有给出对象的名称。

时间序列(Time-series) 函数ts可以由向量(一元时间序列)或者矩阵(多元时间序列)创建一个ts型对象,并且有一些表明序列特征的选项(带有缺省值),它们是:
ts(data = NA, start = 1, end = numeric(0), frequency = 1, deltat = 1, ts.eps = getOption("ts.eps"), class, names)

表达式(Expression) 表达式类型的对象在R中有着很基础的地位,是R能够解释的字符序列。所有有效的命令都是表达式。一个命令被直接从键盘输入后,它将被R求值,如果是有效的则会被执行。在很多情况下,构造一个不被求值的表达式是很有用的:这就是函数expresssion要做的。当然也可以随后用eval_r()对创建的表达式进行求值。

对象的类型转换 读者必然会发现一些类型的对象之间的差异是很小的;因此改变一个对象的某些属性使它转换为另一种类型的对象是合乎逻辑的。as.something这种形式的函数可以完成转换。一般来说,转换遵循一些很直观的规则:
[数据挖掘.R]初识R之R基础学习

阅读 评论 收藏 转载 喜欢 打印举报
  • 评论加载中,请稍候...
发评论

       

    验证码: 请点击后输入验证码 收听验证码

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有