本篇 Markdown 主要记录一些常用的 R 命令及其主要参数设置。
基础命令
object.szie
# 获取变量大小
object.size(letters)
object.size(ls)
# 不同显示方式(KB/MB)
sl <- object.size(rep(letters, 1000))
print(sl)
print(sl, units = "auto")
Sys.time
# 计算R命令运行时间
start_time <- Sys.time()
end_time <- Sys.time()
run_time <- end_time - start_time
list.files
list.files(path = ".", pattern = NULL, all.files = FALSE,
full.names = FALSE, recursive = FALSE,
ignore.case = FALSE, include.dirs = FALSE, no.. = FALSE)
# 参数说明
path:路径;
pattern:匹配特定格式文件,选择自己所需的文件,结合正则表达式;
all.files:是否返回所有文件,包括隐藏文件,但不包括子文件夹的文件,默认是否;
full.names:是否返回路径+文件名,默认是否,如果是否,则返回文件名;
recursive:是否将子文件夹的文件也列出来;
ignore.case:匹配的文件名是否忽略大小写,默认否,即不忽略大小写;
par
par(las = 2,)
# 参数说明
las:控制x轴和y轴的刻度线上的标签与两条轴的防线,可选值为0,1,2,3
Sample
# Sample函数的详细用法
# 参数说明:
# x表示所要抽样数据,size表示抽样个数,replace为T表示采取有重复的抽样
# 了解到sample函数只针对于向量
# 向量抽取
data=1:10
sample(x=data,szie=5,replace=T)
# 数据框抽取
data=1:10
#抽取列
sample(x=data,size=1,replace=T)
#抽取行
data[sample(nrow(data),2,replace=F),]
# 按比例抽取
set.seed(1234) # 确保随机生成的前后一致
#按7:3的比例产生了1和2
index <- sample(x = 2,size = nrow(bdata),replace=TRUE,prob = c(0.7,0.3))
traindata <- bdata[index == 1,]
testdata <- bdata[index == 2,]
intersect 取交集
intersect(x=c(1:8, NA), y = c(2:8, NA))
union 求并集
union(x=1:4, y = 2:6)
setdiff 找不同
setdiff(x, y) # 找x中与y不同的元素
setequal 判断相同
setequal(x, y)
sort
对向量进行排序,返回值排序后的数值向量。
# decreasing = TRUE 设置降序排列
# na.last = TRUE NA值也参与排序
rank
求秩的函数,它的返回值是这个向量中对应元素的“排名”。即在排序后的位置。
# na.last 表示是否排序时是否将NA放在最后面,默认忽略NA
order
指出排序后的向量中各元素在原向量中的索引。
# na.last 表示时候将NA值放在最后面(默认排序忽略NA)
# decreasing 表示是否按照降序排序,默认升序。
names
给向量、列表命名,当输入为数据框的时候,只命名列。
with
将所有操作都限制在数据框上。
with(cars, plot(speed, dist))
toupper/tolower
改变大小写。
system.file
查看安装好的包所在的文件路径。
system.file(package = "gplots")
duplicated/unique
duplicated 返回是否重复的F/T,第一次出现的元素仍是False
unique 直接返回去除重复后的结果
rbind/cbind
rbind 向量按行进行组合,行的叠加
cbind 向量按列进行组合,列的叠加
do.call
根据名称或函数以及要传递给它的参数列表构造并执行函数调用。可以分析list数据结构。扁平化操作
do.call(paste, c(df, sep=""))
ifelse
if判断
ifelse(x>5, 0, 10)
system.file()
Finds the full file names of files in packages etc.发现包中文件的完整路径名
多组数据绘制在一张图上
par(new = TRUE)
Rda 和 Rdata
Rda 与 Rdata,前者是后者格式的缩写,在 R 里加载同样使用 load()。
save 和 saveRDS
save 与 saveRDS 的区别在于,前者保存的数据文件格式为.Rda 或 Rdata,读入 R 使用 load(),载入的数据名称为原数据名称,不可指定。
后者保存的数据文件格式为.rds,读入使用 readRDS,读入的数据名称可指定:name<-readRDS(‘.rds’)。因此当保存单个对象时,推荐使用后者。
level
level 函数在 R 中用于显示因子水平,即因子种类有哪些,结合 length 函数可以获得因子种类数量
seq_along
seq_along 函数就是生成序列号向量,比如输入字符串向量,对应会输出每个字符串的数字位置向量。
gc
gc(),有两个功能,一是立即执行一次垃圾清理,二是显示剩余内存的统计信息。
中端命令
boxplot
boxplot(x, data, notch, varwidth, names, main)
# 参数说明
width : 控制箱体的宽度,当图中有多个箱子时才会发挥作用,其值为长度和箱体个数相同的向量,指定了不同箱体的相对宽度
notch : 逻辑值,控制是否缩进,T缩进,F不缩进,设置为TRUE以绘制凹口。
col : 箱体的填充色
border : 箱体中线条的颜色,默认为黑色
names: 每个箱体下面的标签
LabelOrientation:设置坐标轴标签方向
dist
距离矩阵计算,返回使用指定的距离测量,计算一个数据矩阵中的行之间的距离
# method参数 "euclidean","maximum","manhattan","canberra","binary"或"minkowski" 设置不同的距离方法
# diag参数 逻辑值,该值指示是否应印print.dist距离矩阵对角线。
# upper参数 逻辑值指示是否应印print.dist距离矩阵的上三角。
hclust
基于距离矩阵进行聚类分析
# method参数 # 1,类平均法:average 2,重心法:centroid 3,中间距离法:median 4,最长距离法:complete 默认 5,最短距离法:single 6,离差平方和法:ward 7,密度估计法:density
scale
为了消除量纲对数据结构的影响。
数据中心化:数据的中心化是指数据集中的各项数据减去数据集的均值。
数据的标准化:所谓数据的标准化是指中心化之后的数据在除以数据集的标准差,即数据集中的各项数据减去数据集的均值再除以数据集的标准差。
center为真表示数据中心化
scale为真表示数据标准化
apply
通过对数组或者矩阵的一个维度使用函数生成值得列表或者数组、向量
1表示矩阵行,2表示矩阵列,
展示 ggplot2 默认的颜色
library(scales)
show_col(hue_pal()(n)) n为展示的颜色数量
Reduce
将一个向量按相邻两个元素依次作二元函数运算,最后输出结果。
Reduce的基本参数两个,参数1是二元函数,参数2是运算向量
sink
# 函数 sink() 可以用来把命令行窗口显示的运行结果转向保存到指定的文本文件中
sink("allres.txt", split=TRUE)
sink()