数据类型
R语言数据类型包括数值型,字符串型,逻辑型和日期型,但不像C语言那样数值型还包括整型,单精度,浮点等,R只有大类。用class函数可以测试出即将输出的元素类型,输出class(向量名)即可返回输出元素的数据类型。
向量
向量其实是用于存储数值型、字符型或逻辑型数据的一维数组。用函数c来创建向量,c代表concatenate连接。R中数组下标是从1开始。
向量赋值:必须是同一类型
数值型:x<-c(1,2,3,4,5)
字符串型:y<-c("one","two","three")
逻辑型:z<-c(T,F)或者z<-c(TRUE,FALSE)逻辑型不可以才有首字母大写的形式z<-c(True,False)
输出等差数列:
seq(起始值,终止值,by=等差差值,length.out=输出元素个数)
seq(from=1,to=100,by=2):输出等差为2 的等差数列
seq(from=1,to=100,length.out=10):输出十个数
rep() :输出重复数
rep(2,5):把2输出5次
输出结果:2 2 2 2 2
rep(x,each=5):把集合x中的数据每一个都输出5次
输出结果:1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5
rep(x,5):把集合x输出5次
输出结果: 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
rep(x,c(2,4,6,1,3)):把集合x中的数按c中的次数输出
输出结果:1 1 2 2 2 2 3 3 3 3 3 3 4 5 5 5
mode(x) :查看对象x的数据类型
向量索引
R中数组下标是从1开始的
length(x):输出x向量的元素个数
x[1]:输出x向量中第1个元素
x[-19]:输出x向量中除了第19个元素
x[c(4:18)]:输出x向量中第4到第18个元素
x[c(1,3,10,20,65)]:输出x向量中位置为1,3,10,20,65的元素
x[x>5 & x<9]:输出x向量中符合x>5且x<9的元素
字符串索引
a %in% b(包含运算符):表示a中每一个元素是否在b中,返回值是TRUE或者FALSE
z <-c("one","two","three","four","five") :建立字符串向量
“one" %in% z :返回值为TRUE,表示向量z存在"one"
例子输入:
c(1,2,3) %in% c(1,2,2,4,5,6)
输出:
TRUE TRUE FALSE
names函数,为向量的每个元素添加名称
输入:
y<-c(1:3)
names(y)<-c("one","two","three")
输出:
one two three
1 2 3
接下来就可以通过每个元素的name访问对应的元素
修改向量
向量赋值:x<-c(1:100)
向量批量赋值:x[c(4,5,6)]<-c(4,5,6)
在向量中间插入一个元素:append(x=?,values=?,after=?)
例如append(x=v,values=99,after=5),在向量v中第5个元素后插入值为99的元素
append(x=v,values=99,after=0),在向量v中数据头部插入值为99的元素
删除向量:rm(向量名)
删除向量中某个元素:采用负整数索引的方法,v[-x]
例如v[-2]删除向量v中第二个元素
修改向量中某个元素的值:利用索引赋值即可修改,
例如接着上面names函数部分
输入:
y["two"]=4
输出:
one two three
1 4 3