learnR_function_1
1.1 R的帮助函数
help.start() #打开帮助文档首页
help(foo) #查看函数foo的帮助
??foo #同上
mode() #显示或更改对象的类型
str() #显示R中多种“数组”的结构
example(foo) #函数foo的使用示例
RSiteSearch('foo') #以foo为关键词搜索在线文档和邮件列表存档
apropos('foo', mode='function') #列出名称中含有foo的所有可用函数
data() #列出当前已加载包中的所含的所有可用示例数据集
vignette() #列出当前已安装包中所有可用的插图文档
vignette('embedding') #显示car数据集的名为embedding插图文档
1.2 R的管理工作空间的函数
getwd() #获取当前工作目录
setwd('D:/R_codes' or 'E:\\R_codes') #设置当前工作目录为Users/.../R_codes
dir.create('new_path') #创建一个新路径
ls() #列出当前工作空间中的对象
rm(object1, object2...) #删除一个或多个对象
save(object1, object2..., file='my_file') #保存一个或多个对象到my_file文件中
help(options) #可用选项的说明
options() #显示和设置当前选项
history() #显示最近使用过的默认25个命令
savehistory('my_file') #保存命令历史到文件my_file.Rhistory
loadhistory('my_file') #加载历史文件my_file.Rhistory
save.image('my_file') #保存工作空间到my_file.RData
load('my_file') #加载my_file.RData文件中的工作空间
q() #quit退出
1.3 安装及加载包的函数
install.packages('jiebaR') #安装jiebaR包
help(package='jiebaR') #package不加s
library() #显示当前所有安装包
library(jiebaR) #加载jiebaR包,若无安装则报错,退出程序
.libPaths() #显示库的路径(有点哦)
require(jiebaR) #加载jiebaR包,若无安装则输出FALSE,继续程序
1.4 图形演示及保存函数
demo() #显示当前所有图形演示列表
demo(image) #演示image图形
par(mfrow=c(2,2)) #把画布分成2x2演示图形
pdf('graph_name.pdf')
png('graph_name.png')
jpeg('graph_name.jpeg')
bmp('graph_name.bmp')
postscript('graph_name.ps')
win.metafile('graph_name.wmf') #保存为windows图元文件
1.5 输入、输出函数
source('my_file') #在当前会话中执行脚本my_file,输入脚本
##输出结果
sink('my_file', append=T) #第一步,‘货车’先到位(可以非空车),准备累积装货
outer(1:3, 1:3, '*') #第二步,生产货物
sink() #第三步,装车。第四步,工厂停止生产dev.off()
1.6 批处理命令
#Linux, Mac OS
R CMD BATCH options infile outfile
#Windows
'C:\...\bin\R.exe' CMD BATCH --vanilla --slave 'C:\my_file.R'
1.7 统计函数
lmfit <- lm(mpg~wt, data=mtcars) #线性回归
summary(lmfit) #结果lmfit的统计概要
plot(lmfit) #生成回归诊断图形
predict(lmfit, new_data) #预测new_data
1.8 实用函数
mode() #模式
str()
class() #输出为matrix、data.frame、等等
names() #输出对象中各成分的名称
length()
dim() #维度
c(obj1,obj2,...) #将对象合并入一个向量
cbind(obj1,obj2,...)
rbind(obj1,obj2,...) #行合并
head(obj)
tail(obj)
ls() #输出当前的对象列表
rm() #删除对象
new_obj<-edit(obj) #编辑对象
fix(obj) #编辑(交互式)
paste('X', 1:4, sep='') #拼接
1.9 算术运算符
+ #加法
-
*
/ #除法
^ or ** #求幂: 5^2=25
x %% y #求余(x mod y): 5%%2=1
x %/% y #整数除法: 5%/%2=2
1.10 逻辑运算符
<
<=
>
>=
== #严格等于,对于浮点数的比较要慎重
!=
!x #非x
x | y #x或y
x & y #x和y
isTRUE(x) #x是否为真
1.11 日期格式与日期函数
%d 日期 #01~31
%a 缩写星期名 #Mon
%A 全称星期名 #Monday
%m 月份 #01~12
%b 缩写月份 #Jan
%B 全称月份 #January
%y 缩写年份 #17
%Y 全称年份 #2017
Sys.Date() #年月日
date() #具体年月日、星期、时钟时间
format(x, format='%B %d %Y') #输出指定格式的日期值
1.12 类型判断/转换函数
is.numeric() as.numeric()
is.character() as.character()
is.vector() as.vector()
is.matrix() as.matrix()
is.data.frame() as.data.frame()
is.factor() as.factor()
is.logical() as.logical()
1.13 取子集
new_df <- df[which(var1=="value1" & var2 >= 30),]
new_df <- subset(df, var1=='value1' | var >= 30, select=c(var1:var3))
my_sample <- df[sample(1:nrow(df), 80, replace=FALSE)]#取样
c(1,2,3,4) %in% c(1,2) #返回逻辑值 T T F F
eg:
vars <- names(df) %in% c('var3','var4')
new_df <- df[!vars] #丢弃var3/var4
df$var3 <- df$var4 <- NULL #删除