当前位置:K88软件开发文章中心编程语言R语言R语言01 → 文章内容

R语言 向量

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-15 15:46:04

由 xiaoxiaogang 创建,youj 最后一次修改 2016-12-12 向量是最基本的R语言数据对象,有六种类型的原子向量。 它们是逻辑,整数,双精度,复杂,字符和原始。 创建向量单元素向量即使在R语言中只写入一个值,它也将成为长度为1的向量,并且属于上述向量类型之一。 # Atomic vector of type character.print("abc");# Atomic vector of type double.print(12.5)# Atomic vector of type integer.print(63L)# Atomic vector of type logical.print(TRUE)# Atomic vector of type complex.print(2+3i)# Atomic vector of type raw.print(charToRaw('hello'))当我们执行上面的代码,它产生以下结果 - [1] "abc"[1] 12.5[1] 63[1] TRUE[1] 2+3i[1] 68 65 6c 6c 6f多元素向量 对数值数据使用冒号运算符 # Creating a sequence from 5 to 13.v <- 5:13print(v)# Creating a sequence from 6.6 to 12.6.v <- 6.6:12.6print(v)# If the final element specified does not belong to the sequence then it is discarded.v <- 3.8:11.4print(v)当我们执行上面的代码,它产生以下结果 - [1] 5 6 7 8 9 10 11 12 13[1] 6.6 7.6 8.6 9.6 10.6 11.6 12.6[1] 3.8 4.8 5.8 6.8 7.8 8.8 9.8 10.8 使用sequence (Seq.)序列运算符 # Create vector with elements from 5 to 9 incrementing by 0.4.print(seq(5, 9, by = 0.4))当我们执行上面的代码,它产生以下结果 - [1] 5.0 5.4 5.8 6.2 6.6 7.0 7.4 7.8 8.2 8.6 9.0 使用C()函数 如果其中一个元素是字符,则非字符值被强制转换为字符类型。 # The logical and numeric values are converted to characters.s <- c('apple','red',5,TRUE)print(s)当我们执行上面的代码,它产生以下结果 - [1] "apple" "red" "5" "TRUE" 访问向量元素使用索引访问向量的元素。 []括号用于建立索引。 索引从位置1开始。在索引中给出负值会丢弃来自result.TRUE,FALSE或0和1的元素,也可用于索引。 # Accessing vector elements using position.t <- c("Sun","Mon","Tue","Wed","Thurs","Fri","Sat")u <- t[c(2,3,6)]print(u)# Accessing vector elements using logical indexing.v <- t[c(TRUE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE)]print(v)# Accessing vector elements using negative indexing.x <- t[c(-2,-5)]print(x)# Accessing vector elements using 0/1 indexing.y <- t[c(0,0,0,0,0,0,1)]print(y)当我们执行上面的代码,它产生以下结果 - [1] "Mon" "Tue" "Fri"[1] "Sun" "Fri"[1] "Sun" "Tue" "Wed" "Fri" "Sat"[1] "Sun"向量操作向量运算可以添加,减去,相乘或相除两个相同长度的向量,将结果作为向量输出。 # Create two vectors.v1 <- c(3,8,4,5,0,11)v2 <- c(4,11,0,8,1,2)# Vector addition.add.result <- v1+v2print(add.result)# Vector substraction.sub.result <- v1-v2print(sub.result)# Vector multiplication.multi.result <- v1*v2print(multi.result)# Vector division.divi.result <- v1/v2print(divi.result)当我们执行上面的代码,它产生以下结果 - [1] 7 19 4 13 1 13[1] -1 -3 4 -3 -1 9[1] 12 88 0 40 0 22[1] 0.7500000 0.7272727 Inf 0.6250000 0.0000000 5.5000000向量元素回收如果我们对不等长的两个向量应用算术运算,则较短向量的元素被循环以完成操作。 v1 <- c(3,8,4,5,0,11)v2 <- c(4,11)# V2 becomes c(4,11,4,11,4,11)add.result <- v1+v2print(add.result)sub.result <- v1-v2print(sub.result)当我们执行上面的代码,它产生以下结果 - [1] 7 19 8 16 4 22[1] -1 -3 0 -6 -4 0向量元素排序向量中的元素可以使用sort()函数排序。 v <- c(3,8,4,5,0,11, -9, 304)# Sort the elements of the vector.sort.result <- sort(v)print(sort.result)# Sort the elements in the reverse order.revsort.result <- sort(v, decreasing = TRUE)print(revsort.result)# Sorting character vectors.v <- c("Red","Blue","yellow","violet")sort.result <- sort(v)print(sort.result)# Sorting character vectors in reverse order.revsort.result <- sort(v, decreasing = TRUE)print(revsort.result)当我们执行上面的代码,它产生以下结果 - [1] -9 0 3 4 5 8 11 304[1] 304 11 8 5 4 3 0 -9[1] "Blue" "Red" "violet" "yellow"[1] "yellow" "violet" "Red" "Blue"

R语言 向量