1.1 怎样运行R
R有两种方式:交互模式和批处理模式。交互模式:输入,R语言输出;批处理模式:不需要与用户交互常用于一个程序定期反复运行
1.1.1 交互模式
(1)计算均值
> mean(abs(rnorm(100)))
[1] 0.7403213
(2)生成10个随机变量
R输出一行最多有6个
> rnorm(10)
[1] 1.0223477 0.2780512 0.1386872 0.9729536 1.4267163 0.1825635
[7] 0.9647080 0.3407328 -0.7426354 -1.8239753
(3)运行文件里的代码
source("z.R")
(4)批处理模式
先建立一个文件,然后调用操作系统的shell命令。在后续将会深入探究
1.2 第一个R会话
(1)生成数据集
用数字1,2,4生成一个简单的数据集即向量
x<-c(1,2)
q<-c(x,x,8)
输出结果:
(2)输出个别元素
> x[2]
[1] 2
> x<-c(1,2,3)
> x[2:3] #提取子向量
[1] 2 3
R语言的下标是从1开始的,不是从0
(3)计算均值和标准差
> mean(x)
[1] 2
> sd(x) #标准差是求平方和后除以数量再开方
[1] 1
(4)画直方图
hist(Nile) #画出特定数据集的直方图
1.3 函数入门
1.3.1 直接输出的R
> oddcount <- function(x) {
+ k<-0
+ for (n in x){
+ if (n %% 2 == 1)
+ k <- k+1 #注意‘<’和‘-’一定要连在一起!
+ }
+ return(k)
+ }
> oddcount(c(1,3,5))
[1] 3
1.3.2 使用Rstudio
第一步:创建oddcount文件(函数名和文件名相同)
oddcount <- function(x) {
k<-0
for (n in x){
if (n %% 2 == 1)
k <- k+1
}
return(k)
}
第二步:调用(在另一个文件中)
setwd("C:/Users/wangyihan/Desktop") #这个是将R语言的指针弄到函数文件的前一个文件包中,在这里是指到桌面
source("oddcount.R",encoding="utf-8") #在桌面上寻找到oddcount文件
oddcount(c(1,2,3))
第三步:输出结果
1.4 变量的作用域
在函数中的都是局部变量
1.5 重要的数据结构
查看数据类型用mode()
1.5.1 向量
创建时用<-c
标量--或单个数,在R中不存在,单个数以向量的形式存在
1.5.2 字符串
创建时用<-c
(1)字符串的联合
> u <- paste('abc','de','f')
> u
[1] "abc de f"
(2)字符串的拆分
> v <- strsplit(u, ' ')
> v
[[1]]
[1] "abc" "de" "f"
1.5.3 矩阵
创建时用 <-rbind
> m <- rbind(c(1,4),c(1,2)) ## 注意括号里面都用c
> m
[,1] [,2]
[1,] 1 4
[2,] 1 2
(1)矩阵的运算
> m %*% c(1,1)
[,1]
[1,] 5
[2,] 3
(2)矩阵某个值索引
> m[1,2]
[1] 4
(3)矩阵某列某行
> m[1,] #行
[1] 1 4
> m[,1] #列
[1] 1 1
1.5.4 列表
创建时用 list,相当于字典(python中)。自己创建索引和值
(1)列表中元素值的访问
> x <- list(u=2, v="abc")
> x$u
[1] 2
> x$v
[1] "abc"
1.5.5 数据框
创建时用 data.frame,一般通过读取文件和数据库来创建的
> d <- data.frame(list(kid=c('Jack','Jill'),age = c(12,10)))
> d
kid age
1 Jack 12
2 Jill 10
1.5.6 类
R语言时面向对象的语言。对象是类的实例