1. R的语法与数据结构.
1.符号
#符号> 表示命令或运算提示符,符号 + 表示续行符,# 表示后面的文字是注释文字
#2.基本运算符:
#加减乘除符号与其他的语言一样, ** 或 ^ 表示乘方??? %*%表示矩阵乘法符号%%表示求余符号%/%表示整数除法符号.
#3.赋值符
#= 或<- 表示赋值符号,但是比较常用的是 <-
#4.求助函数
#plot 或 help(plot)是等同意义的,表示查看plot函数帮助.
#5.示例 计算 3 的平方.
a<-3
a**2
#产生正弦函数
x=(0:100)*2*pi/100
plot(x,sin(x),type="l")
2. R向量.
#(一).数值型向量.
#1.产生等差数列
1:n
seq(1,5,by=0.5) #产生较为复杂的等差数列用seq()函数.
seq(1,5,length=9)
#2.产生较为复杂规律的向量函数 rep().
rep(2:5,2) #表示产生向量 2:5 两次.
rep(2:5,rep(2,4)) #表示2:5每个数字重复两次.
#3.用函数c()产生无规律的向量.
x=c(1,4,5.5,9) #表示产生向量(1,4,5.5,9),并赋值给变量x
#4.向量的运算.
x=1:3
2*x-1
#两个等长向量之间的运算
1:3+c(5,7,2)/c(5,7,1)
#两个不等长向量之间的运算.
c(100,200)+c(1,2,3,4)
1:3+1:5
#5.向量运算的几个常用函数.
#sqrt(x) 表示求向量x的平方根.
#log(x),表示求向量的对数.
#exp(x)表示对向量的每个元素都取指数函数.
#(二).逻辑向量. R也可以进行逻辑操作.
x=c(1,4,6.5)
l = x>3 #逻辑为真时,返回true,逻辑为假是,返回false.
l
(x>=2)&(x<5)
#(???).字符型向???.
y1=c('a','b')
y1
y2=c("hello","R")
y2
#(三).向量下标运算.
# **1.R中的下标从1开始,这与通常的数学软件不.
x=c(45,86,30,24)
x[3]
#也可以修改向量中元素,通过加标进行修改.
x[2]=11
x
#正整数下向量.
x[c(1,4)] #表示访问x的第一个、第四个分量.
x[c(2:4)] #表示访问第二个到第四个分量.
#负整数下标向量
x[-1] #表示删除第一个元素.
#逻辑下标向量
x[x<30] #选取小于30的元素.
3.矩阵
#(一).矩阵的函数格式.
matrix(data=NA,nrow = l,ncol = l,byrow = FALSE,dimnames = NULL)
#data:表示数据向量,nrow:表示矩阵的行数,ncol:表示矩阵的列数,byrow=TRUE:表示按行写成矩阵,否则按列排列,默认是案列组成的矩阵.
A=matrix(1:12,ncol=4,byrow=T) #生成一个3行4列的矩阵。
A
c(A)
#chind()函数是把向量横向拼成大矩阵,rbind()函数则是把向量纵向拼成一个大矩阵:
B=rbind(C(1,2),c(3,4))
B
c=cbind(c(11,12),c(13,14))
c
#**注意对角矩阵和三角矩阵的写法.
diag(c(1,2,3)) #对角矩阵
diag(1,3) #单位矩阵.
#(二).矩阵的元素及子矩阵.
A[1,2]
A[2,] #表示第二行的元素.
rownames(A) = c('a','b','c') #给矩阵A指定行的名称.
A
colnames(A) = paste('X',1:4,sep='') #给矩阵A指定列的名称.
A
#(三).矩阵的运算.
B=matrix(c(1,0),nrow=4,ncol = 2,byrow = T)
A%*%B #矩阵乘法用%*%表示,t(A)表示A的转置.
四.列表.
#(一).列表的构造
rec = list(name = "黎明",age = 34,scores = c(89,78,65))
rec
五.数据框.
#(一).数据框(数据框是矩阵形式的数据,但是各列可以是不同的数据类型.)
#①生成数据类型.
d=data.frame(name=c("李明","张冲","王建"),age=c(30,35,28),height=c(180,162,175))
d
#②数据框的引用.
d[1:2,2:3]
d[["age"]]
rownames(d) = c("one","tow","three") #数据框的各行也可以定义名字.
d
#③.attach()函数.
attach(d)
r=age/height
d$ r=age/height
d
#④.数据框的编辑.
#可以用函数edit()对数据框进行编辑,也可以对向量、矩阵类型进行修改和编辑.
newd = edit(d)