euro
rivers
stat.abb
state.name
state.area
x <- c(1,2,3,4,5)#c可以给向量赋值
x
print(x)
y <- c("one","two","three")
z <- c(TRUE,FALSE,T,F)
c(1:100)#等差数列
seq(1,100)
seq(1,100,by=2)#设置等差值
seq(1,100,length.out = 10)#length.out为该序列的长度,默认为等差数列
rep(2,5)#把2重复5次
rep(x,10)#把x重复5次
rep(x,each=5)#把x中的每个元素重复5次
a <- c(1,2,"one")
a
mode(a)#返回a的数据类型(这里是character型)
#向量必须统一类型,不然无法计算
#storage.mode()改变数据类型
#m <- c(1,2,3)
#mode(m)
#storage.mode(m) <- "character"
#mode(m)
typeof(a)
mode(z)
a=2
b=3
c="hello,world"
d=TURE
x=c(1,2,3,4,5)
y=6:10
x*2+y
#向量化编程适合用来做统计,这与传统的编程语言不一样
x[x>3]
#R的基本数据结构是向量。R的向量类似于传统语言的集合
rep(x,c(2,4,6,1,3))#把x中的元素分别重复2,4,6,1,3遍
x <- c(1:100)
length(x)#统计向量中元素个数
x[1]
x[0]#R中元素从1开始
x[-19]#输出19以外的元素
x[4:18]#输出第4到18个元素
x[c(1,23,45,67,89)]#输出第1,23...个元素
x[c(11,11,23,234,5,90,2)]
x[c(-2,3,4)]
y <- c(1:10)
y
y[c(T,F,T,T,F,F,T,T,T,F)]#输出对应为T的值
y[c(T)]#全部输出
y[c(T,F)]#按照顺序判断
y[c(T,F,T)]
y[c(T,F,T,T,F,F,T,T,T,F,T)]#输出一个NA,表示空值
y[y>5]
y[y>5 & y<9]#输出既大于5又小于9的值
z <- c("one","two","three","four","five")
"one" %in% z#判断"one"是否在z中
z %in% c("one","two","five")#把Z的元素一个一个拿出来,看它在不在C中
z[z %in% c("one","two","five")]
#这里的上下两条的作用相等
z[c(TRUE,TRUE,FALSE,FALSE,TRUE)]
# vector name index
names(y) <- c("one","two","three","four","five","six","seven","eight","nine","ten")
#使用names将元素一一对应
y
names(y)
euro
names(euro)
euro["ATS"]#使用名称来访问某个元素,这在二维数据中能高效使用
#change vector value
x <- 1:100
x[101] <- 101#直接定义,使得x多了一个元素
v <- c(1,2,3)
v[c(4,5,6)] <- c(4,5,6)#批量赋值,前面有索引,后面是索引对应值
v[20]=4#直接扩展到第20个元素
v#这是中间没有赋值到的元素就会是NA
append(v,99,after = 5)#在向量V的第5个元素增加一个值(99)
rm(v)#删除v
y[-c(1:3)]#删除第1到3个元素,这里的操作是一个过程,还没有真的赋值到对象上
y <- y[-c(1:3)]#这里赋值到对象上,y的值在这里永远的改变
y
v[2]=15
原文:https://www.cnblogs.com/kwq717/p/14614539.html