天天看点

R语言的入门到精通

R语言的入门到精通

R基础

#数据结构
#创建向量
a=c(:)
b=c(:)
c=seq(,,by=)
#查看向量的属性
mode(a)
length(a)
#操作向量的函数
rbind(a,b)
cbind(a,b)
which(a>)  #大于5的向量的下标
#操作向量的数学函数
mean(a)
sum(a)
min(a)
max(a)
var(a)
sd(a)
prod(a)
#创建矩阵或数组(矩阵是二维的数组)
d=matrix(a,nrow=,ncol=)
e=matrix(b,nrow=,ncol=)
dim(d)=dim(,)
#矩阵的操作
t(d)    #矩阵的转置
d*e     #矩阵的点乘
d%*%e   #矩阵相乘 
diag(a) #取对角线向量
solve(a)    #求矩阵的逆
eigen(a)    #求矩阵的特征值
#创建数据框
f=data.frame('weight'=a,'price'=b)
#读取文件
g=read.table("***.txt",header=T)    #读取带表头的表
#语法
#for循环
for(i in a){
b[i]=*b[i]
}
#while循环
i=
while(i<){
b[i]=*b[i]
}
#apply函数的妙用
apply(x,,mean)
apply(x[c("x1","x2","x3")],,sum)
           
R语言的入门到精通

R画图基础

hist(x$x1) #直方图
plot(x1,x2) #散点图
plot(x,y,type="l")
table(x1) #列联函数
barplot(table(x1))  #列联表
pie(table(x1)) #饼图
boxplot(x$x1,x$x2,x$x3)
#箱型图
#注:最大(最小)观测值设置为与四分位数值间距离为1.5个IQR(中间四分位数极差)
stars(x[c("x1","x2","x3")]) #星相图
install.packages("aplpack")
library("aplpack")
faces(x[c("x1","x2","x3")]) #脸谱图
stem(x$x1) #茎叶图
qqnorm(x1) #QQ图
qqline(x1)
plot(density(rnorm()))#概率密度图
heatmap(as.matrix(mtcars))#热力图
sunflowerplot(iris[,:]) #向日葵散点图
pairs(iris[,:])   #散点图
           

R语言的问题总结

前言

  1. 如何在文献引用R

    citation(package='package name')

  2. 为什么R不能使用超过50%的CPU

    这是 Windows 下任务管理器的误导, 它将多个 CPU 看作是单个 CPU, 同时计算使用比例。 而* R是单线程计算软件*, 它不能同时使用 2 个以上的 CPU。 当你的计算机应用的是双核技术, 你会发现 CPU 应用会定格在 50% 上。

  3. 如何优化内存

    启动R进程前,增加R启动参数,在cmd中,run增加参数的term:

    r --max-men-size=1Gb

    ,或者添加RHOME/bin到环境变量,直接运行

    rgui --max-men-size=1Gb

启动R进程后,通过

memory.limit

函数增大R进程的内存限制

4. 如何获取帮助

?topic

help(topic)

apropos('tab')

5. 如何获得和清除内存中的变量

ls()

rm(ls())

6. 如何改变小数点后显示的数字位数?

options(digits=)

,options是一个集合函数,集合了R语言的配置参数

7. 如何调用系统内的程序

system()

shell.exec()

8. windows下升级R,但不重装packages?

在其他目录下安装R,再将旧版本的library目录下的文件copy到新版本的library下,然后

update.packages()

;或卸载R,把R安装在旧的目录下,然后

update.packages()

9. 如何卸载已经安装的packages

remove.packages().

10. 如何获得和更改R工作目录

getwd()

setwd()

11. 加载和分离包的操作是什么?

library()

detach()

12. 查看已加载的包和查看所有包

.packages(all.available=TRUE)

data()$results

13. R模型的符号的意义

y~model

是一种特定的格式,表示以y为响应变量,model为模型,其中

Y~M

Y由模型M解释。

M 1+M 2

同时包括M 1和M 2项。

M 1-M 2

包括M 1但排除M 2项。

M 1:M 2

M 1和M 2的张量积(tensor product)。如果两项都是因子,那么将产生“子类”因子(subclasses factor)。

M 1%in%M 2

和M 1:M 2类似,但编码方式不一样。

M 1*M 2

M 1+M 2+M 1:M 2.

M 1/M 2

M 1+M 2%in%M1.

M^n

M的所有各项以及所有到n阶为止的“交互作用”项

I(M)

隔离M。M内所有操作符当一般的运算符处理。并且该项出现在模型矩阵中。

输入输出

  1. R怎么读EXCEL的数据?

    将EXCEL另存为csv,使用

    read.csv()

    函数读取
  2. 怎么样把R的保存为text?

    首先使用

    sink("file name")

    创建text,然后加载数据集到缓存,最后使用

    sink()

  3. R使用电子表格输入数据

    首先

    data<-data.frame()

    ,然后

    edit(data)

    ,最后

    fix()

  4. R生成latex代码

    参考Hmisc包中的latex()和xtable包中的xtable()

数据处理

  1. 如何删除缺失值?

    x[!is.na(x)]