r语⾔折线图把横坐标改为字符_统计学导论-R语⾔实验(1)统计学导论这门课还有⼀个⾮常重要的部分就是R语⾔实验,这个部分也是我要选择这门课的原因之⼀。下⾯这⼏节就介绍R语⾔,以及其⼀些基础的应⽤。
实验1
R语⾔基础
R studio快捷键的使⽤
变量类型
数据结构
R语⾔基础
1.R中可以把函数计算的结果赋值给变量
x <- 5 # 表⽰将变量x赋值为5
注:R中<-为赋值符号,R中也允许⽤=赋值,但是可能会出问题所以不推荐使⽤
区分⼤⼩写),和数字0⾄9(数字不能⽤于名称的开头),所有符号的输⼊要2.R中变量名称可以包含任何⼤写字母,⼩写字母(所以R中区分⼤⼩写
英⽂的状态
在英⽂的状态
注:变量名称不能与R中⾃带的变量、函数名重复。如pi在R中代表圆周率。
3.#该符号表⽰注释符
4.清除单个变量使⽤rm();清除内存中所有变量rm(list=Is(all=TRUE));清屏Ctrl+l
5.R中定义了⼀些函数例如sin,cos,exp,sort等
help("sort")
sort
#查看函数sort的帮助⽂档
# 如何看帮助⽂档
# Description,是告诉你函数是⽤来做什么的。
# Usage,⽤法
# Arguments, 参数,即输⼊
# Value,返回值,即输出
# Examples,例⼦
# Details, 补充说明,经常是⼀些注意事项
R studio快捷键的使⽤
变成注释 Ctrl+shift+C
运⾏当前⾏ Ctrl+Enter
<- Alt+”-”
移动⿏标到控制台 Ctrl+2
移动⿏标⾄⽂件编辑区 Ctrl+1
控制台清屏 Ctrl+L
历史记录翻滚 Up/Down
终⽌⽬前命令 Esc
变量类型
查看变量类型
可以⽤class()或者 mode()函数查看变量类型
1. 逻辑型 “logical”,(TRUE/FALSE,或者T/F)(T/F要⼤写)
2. 数值型 “numeric”,代表⼀个实数
3. 字符型 “character”,代表⼀个字符串
a <- seq(1,10, by = 0.2)
b <- c('my','god!')
c <- c(T,F,T,T,F)
class(a) # 数值型
class(b) # 字符型
class(c) # 逻辑型
在数值计算时,逻辑型的T和F会对应转换为1和0
TRUE+TRUE
布尔运算:并(&)、或(|)、⾮(!)
b <- T&T
b #布尔运算:并
c <- T|F
c #布尔运算:或
d <- !T
d #布尔运算:⾮
确定变量类型时,可⽤is.XX形式的函数
想要确定变量类型
检查是否为逻辑型变量,⽤函数:is.logical()
检查是否为数值型变量,⽤函数:is.numeric()
检查是否为字符型变量,⽤函数:is.character()
更改变量的数据类型时,可以⽤as.XX形式的函数
当想要更改变量的数据类型
将变量更改为逻辑型变量,⽤函数:as.logical()
将变量更改为数值型变量,⽤函数:as.numeric()
将变量更改为字符型变量,⽤函数:as.character()
数据结构
向量
向量:⽤于存储数值型、字符型或逻辑型数据的⼀维数组。
标量:只含⼀个元素的向量。如:x<-3
1. 向量的创建
1.1 创建⽅法⼀:组合功能函数c()
a <- c(1,2,4) #数值型向量
>b <- c("one","two","apple")#字符型向量
#注意:不要在编码时使⽤c作为变量名
#c <- c(TRUE,TRUE,FALSE,TRUE,FALSE)这是错误的
>d <- c(TRUE,TRUE,FALSE,TRUE,FALSE) #逻辑型向量
注:单个向量中的数据必须拥有相同的数据类型。因此,当输⼊包含不同数据类型时,会统⼀成“低级别”的数据类型。例如有以下的输出结果:
c("zhang",3,2,TRUE)
[1] "zhang" "3" "2" "TRUE"
c(3,2,TRUE,FALSE)
[1] 3 2 1 0
1.2 创建⽅法⼆:使⽤冒号⽣成数值序列
a:b #从a开始,逐项加1或者减1,直到b为⽌
例如有如下输出结果:
1:6
[1] 1 2 3 4 5 6
4:7.6
[1] 4 5 6 7
1.2:5
[1] 1.2 2.2 3.2 4.2
此外还有⼏种等价形式
a <- 2:6 #将向量2,3,4,5,6赋值给a
a <- c(2:6)
a <- c(2,3,4,5,6)
1.3 创建⽅法三:创建等差数列Seq()函数
Seq(from=value1,to=value2,by=value3,length.out=value4)
#⾸项value1,尾项最接近value2,中间间隔(步长)为value3,向量长度为value4。默认by=1(步长为1)。
m<-seq(2,10) #等效于 m<-2:10
seq(0, 1, by=0.1)
1.4 创建⽅法四:rep()重复函数
rep(x,times) #将向量x重复times次
rep(x,times,each=n) #先将x的每个元素重复n次,再将得到的向量整体重复times次
例如有如下输出结果:
x<-c(1,3,5)
s0<-rep(x,times=3); s0 #将向量x重复3次,输出s
[1] 1 3 5 1 3 5 1 3 5
s1<-rep(x,each=3); s1 #将向量x中的每个元素重复3次
[1] 1 1 1 3 3 3 5 5 5
2.访问向量中的元素:在⽅括号[ ]中给定元素所处的位置
a <- c(1,24,56,93,88,97)
a[3] #输出向量a的第3个元素
[1] 56
a[c(1,3,5,6)] #输出向量a的第1,3,5,6个元素
[1] 1 56 88 97
a[2:4] #输出向量a的2:4个元素
[1] 24 56 93
数组全部赋值为1a[-4] #输出向量a除第4个元素以外的其他元素
[1] 1 24 56 88 97
3.修改向量中的元素:赋值
(R中向量是连续存储的,向量⼤⼩在创建时就已经确定了,因此不能插⼊或删除元素。但是向量可以扩展,因此可⽤重新赋值的⽅法插⼊或删除向量元素)
a <- c(1,24,56,93,88,97)
a[4]<-3
a #将向量a的第四个值修改为3
[1] 1 24 56 3 88 97
a<-c(a[1:3],12,a[4:6])
a #在第4个元素位置插⼊12
[1] 1 24 56 12 93 88 97
a<-a[1:3]
a
[1] 1 24 56
x<-1:3
x[7]<-4
x #对原有三个元素的x向量进⾏扩充⾃动填充个数,没有赋值的部分填充为NA
[1] 1 2 3 NA NA NA 4
矩阵
矩阵:⼆维数组
向量:特殊的矩阵(⾏数为1,或者列数为1的矩阵)
注:每个元素必须是相同的数据类型(模式)(数值型、字符型或逻辑型
1.创建矩阵
mymatrix <- matrix(vector, nrow=number_of_rows, ncol= number_of_columns, byrow=logical_value, dimnames=list(char_vector_rownames, char_vector_colnames))
参数说明:
Vector 向量:矩阵的元素
nrow=number_of_rows 矩阵的⾏数
ncol= number_of_columns 矩阵的列数
byrow=logical_value 按⾏/按列填充(默认FALSE,按列填充)
char_vector_rownames 字符型的⾏名
char_vector_colnames 字符型的列名
2.访问矩阵中的元素
在⽅括号中,通过下标,给定元素所处的位置
X[i,j] 第i⾏第j列的元素
X[i,] 第i⾏的元素
x[,j] 第j列的元素
选择多⾏或者多列时,i,j可以数值型的向量
x <- matrix(1:10,nrow=2)###默认按列填充
x
x[2,3] #输出矩阵x第⼆⾏第三列的元素
x[2,] #输出矩阵x第⼆⾏的元素
x[,2] #输出矩阵x第⼆列的元素
a<-c(1,2)
b<-c(2,3)
x[a,b] #提取的位置也可以以矩阵形式提取
3.修改矩阵中的元素
x<-matrix(1:6,2,3) #⽣成2*3的矩阵
one<-c(1,1,1)
two<-c(1,1)
rbind(x,one) #增加⾏
cbind(x,two) #增加列
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论