第一章 快速入门
1.1怎样运行R
mean(abs(rnorm(100)))
rnorm(10) #随机输出10数值
hist(rnorm(100))#绘制直方图
1.2第一个R会话
x<-c(1,2,4) #c表示连接 concatenate
q=c(x,x,8)
q
x[2:3]
mean(x) #求均值和方差
sd(x)
y=mean(x)
y
data("Nile") #取R内置数据
mean(Nile)
sd(Nile)
hist(Nile)
1.3函数入门
k=0
oddcount=function(x){
k<-0
for (n in x){
if (n %% 2 ==1) k=k+1
}
return(k)
}
oddcount(c(1,3,5))
38%%7 #求余数
for (n in x){
if (n%%2==1) k=k+1
return(k)
}
#1.3.1 变量的作用域
oddcount(c(1,2,3,7,9))
f=function(x) return(x+y)
y=3 #全局变量 超赋值运算符?
f(5)
#1.3.2 默认参数
#g=function(x,y=2,z=T){}
#y默认为2 z默认为ture
1.4 R语言中一些重要的数据结构
#1.4.1 向量、R语言中的战斗机
#标量,或单个的数,在R中不存在实际上是一元向量
#向量必须符合某种模式要么都是数字要么都是字符串
x=8
x
#1.4.2字符串
x=c(5,12,13)#数值模式
x
length(x)
mode(x)
y="abc"#字符串模式
length(y)
mode(y)
z=c("abc","29 88")
length(z)
mode(z)
u=paste("abc","de","f")
u
v=strsplit(u,"")
v
#1.4.3矩阵
#矩阵是向量
m=rbind(c(1,2),c(3,4)) #row bind缩写
## m m%*%c(1,1) #矩阵乘法 m[1,2] #1行2列 m[2,2] #2行2列 m[1,]#第一行 m[,2]#第二列
#1.4.4列表
#列表中的各项可以属于不同的数据类型
x=list(u=2,v="abc",z=33)
x
x$u
data("Nile")
hist(Nile)
hn=hist(Nile) #hist返回包含直方图信息的列表
hn
str(hn) #structure 结构
#1.4.5数据框
d=data.frame(list(kids=c("jack","jill"),ages=c(12,10)))
d
#1.4.6类
#attribute 属性
print(hn)
1.5扩展案例:考试成绩的回归分析
# examsquiz=read.table("ExamsQuiz.txt",header=FALSE)
#class(examsquiz)
#head(examsquiz)
#lma=lm(examsquiz[,2]~examsquiz[,1])
1.6启动和关闭R
getwd()
#setwd() 修改工作目录
#?staetup 查找更多关于启动文件的信息
1.7获取帮助
#1.7.1help() 函数
help(seq)
?seq
?"<"
?"for"
#1.7.2 example()函数
example(seq)
seq(17)
example(persp)
#1.7.3如果不太清楚要查找什么
help.search("multivariate normal")
??"multivariate normal"
#1.7.4其他主题的帮助
?mvrnorm
help(package=MASS)
?files
#1.7.5批处理模式的帮助
#1.7.6互联网资源