字符向量及统计字符向量的长度
length()函数统计向量的长度
nchar()函数统计字符向量中每个元素有多少个字符
> x=c("Hello world")
> is.character(x)
[1] TRUE
> length(x)#length()函数统计向量的长度
[1] 1
> nchar(x)#nchar()函数统计字符向量中每个元素有多少个字符
[1] 11
> x=c("Hello","World")
> is.character(x)
[1] TRUE
> length(x)
[1] 2
> nchar(x)
[1] 5 5
typeof和as.系列函数
typeof():返回变量的类型
as.:将对象转变成想要的类型,如as.character,转变成字符类型
> x=c(1,5,4,9,0)
> typeof(x)
[1] "double"
> y=as.character(x)
> y
[1] "1" "5" "4" "9" "0"
> z=as.numeric(y)
> z
[1] 1 5 4 9 0
字符向量特性
如果一个向量中的一个元素是字符,则非字符值(数字,逻辑值)被强制转换成字符类型
> x=c(1,5,4,TRUE,"hello")
> typeof(x)#如果一个向量中的一个元素是字符,则非字符值(数字,逻辑值)被强制转换成字符类型
[1] "character"
> x
[1] "1" "5" "4" "TRUE" "hello"
unique(),%in%,match()函数
unique():unique函数返回一个去除了重复的元素/行的向量,数据框或者数组
%in%:a %in% b,判断a向量的元素是否在b向量中,返回值为与a向量长度相等的的逻辑向量
match():match(a,b),判断a向量在b向量中的位置。返回一个长度与a向量相等的数值向量。注意b向量中若存在重复时,返回的是a向量元素在b向量中的第一个位置。
>country=c("China","Korea","Korea","Japan","UK","USA","France","India","Russia")
> unique(country)
[1] "China" "Korea" "Japan" "UK" "USA" "France" "India" "Russia"
> check=c("Korea","India","UK","Japan")
> check %in% country
[1] TRUE TRUE TRUE TRUE
> country %in% check
[1] FALSE TRUE TRUE TRUE TRUE FALSE FALSE TRUE FALSE
> match(check,country)
[1] 2 8 5 4
合并两个向量
> n=c("a","b","c")
> s=c("aa","bb","cc","dd","ee")
> x=c(n,s)#合并向量
> x
[1] "a" "b" "c" "aa" "bb" "cc" "dd" "ee"
rep()函数仍适用于字符向量
> type=c(rep("tumour",5),rep("normal",6))#rep()函数同样适用于字符向量
> type
[1] "tumour" "tumour" "tumour" "tumour" "tumour" "normal" "normal" "normal" "normal" "normal"
[11] "normal"