`
huobengluantiao8
  • 浏览: 1031198 次
文章分类
社区版块
存档分类
最新评论

向量的生成

 
阅读更多

A.正则序列

1. :

eg:

> n<-10
> n
[1] 10
> 1:n-1
 [1] 0 1 2 3 4 5 6 7 8 9
> 1:(n-1)
[1] 1 2 3 4 5 6 7 8 9

2.seq(),从from 开始,到To结束,以by为间距/length算出其间距的一组数列

> seq(1,9,by=0.5)
 [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0
> seq(1,9,by=0.6)
 [1] 1.0 1.6 2.2 2.8 3.4 4.0 4.6 5.2 5.8 6.4 7.0 7.6 8.2 8.

3.req(),生成重复数列

> x<-c(1,2);x
[1] 1 2
> rep(x,times=5)
 [1] 1 2 1 2 1 2 1 2 1 2
> rep(x,each=5)
 [1] 1 1 1 1 1 2 2 2 2 2

B.逻辑向量

逻辑运算符:<; <=; >; >=; ==; !=

C.缺损值

> a<-c("a","b",NA);a
[1] "a" "b" NA 
> a[1]
[1] "a"
> nchar(a[1])
[1] 1
> print(a,quote=F)
[1] a    b    <NA>

D,字符向量

以双引号或但引号包围

\n 换行

\t 制表符

\b 退格键

字符的连接用c(),或是paste()

 paste(1:12)
 [1] "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"  "9"  "10" "11" "12"
> paste("Today is:",date())
[1] "Today is: Wed Jun 13 14:53:36 2012"
> paste("A",1:6,seq="")
[1] "A 1 " "A 2 " "A 3 " "A 4 " "A 5 " "A 6 "
> paste("A",1:6,seq="_")
[1] "A 1 _" "A 2 _" "A 3 _" "A 4 _" "A 5 _" "A 6 _"
> stopifnot(identical(paste ("A", 1:6, sep = ""),
+                     paste0("A", 1:6)))
> 
> paste(c("X","Y"),1:10,seq="");
 [1] "X 1 "  "Y 2 "  "X 3 "  "Y 4 "  "X 5 "  "Y 6 "  "X 7 "  "Y 8 "  "X 9 " 
[10] "Y 10 "
> paste(c("X","Y"),1:10);
 [1] "X 1"  "Y 2"  "X 3"  "Y 4"  "X 5"  "Y 6"  "X 7"  "Y 8"  "X 9"  "Y 10"
> paste(c("X","Y"), 1:10);
 [1] "X 1"  "Y 2"  "X 3"  "Y 4"  "X 5"  "Y 6"  "X 7"  "Y 8"  "X 9"  "Y 10"

E.索引向量

1.若索引向量采用逻辑向量,则选出向量中逻辑返回值为TRUE的元素

> a[!is.na(a)]
[1] "a" "b"
 
> x<-c(1:10,NA);x
 [1]  1  2  3  4  5  6  7  8  9 10 NA
> (x+1)[(!is.na(x))&x>5]->z
> z
[1]  7  8  9 10 11
将创建一个对象Z,并且将向量x+1的值赋给它,要求x中对应的元素>5,且非NA缺损值
 

2.正整数向量

> c("x","y","m")[rep(c(1,2),times=4)]->z;rep(c(1,2),times=4)
[1] 1 2 1 2 1 2 1 2
> z
[1] "x" "y" "x" "y" "x" "y" "x" "y"

3.负整数

移除某个元素

4.字符串向量

> fruit<-c(5,10,1,20)
> names(fruit)<-c("orange","banana","apple","peach");fruit
orange banana  apple  peach 
     5     10      1     20 
> lunch<-fruit[c("apple","orange")];lunch
 apple orange 
     1      5 

db为一个list数据

> names(db)
[1] "类别"   "时间"   "大类别" "周别"   "职务"  
> test<-db[c("类别","时间")];test
错误: 意外的输入在"test<-db[c("类别","时间")]?里
> test<-db[c("类别","时间")];test
  #将list db中colname为类别,时间的数据赋值给test
  #等价于  test<-subset(db, select = c(类别, 时间)) 
           类别 时间
1          晨会 7.92
2          周会 4.02
3          月会 0.00

> mode(x)
[1] "numeric"

> x
 [1]  1  2  3  4  5  6  7  8  9 10 NA
> as.character(x)
 [1] "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"  "9"  "10" NA 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics