zoukankan      html  css  js  c++  java
  • R语言多元素向量

    使用冒号运算带有数值数据(数值的增加为1)

    # Creating a sequence from 5 to 13.
    v <- 5:13
    print(v)
    
    # Creating a sequence from 6.6 to 12.6.
    v <- 6.6:12.6
    print(v)
    
    # If the final element specified does not belong to the sequence then it is discarded.
    v <- 3.8:11.4
    print(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
    

    使用序列 (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

    charToRaw:把字符串转化为数字数组进行输出。

    使用 c() 函数

    非字符值强制转换为字符类型,如果该元素之一是字符。

    # The logical and numeric values are converted to characters.
    s <- c('apple','red',5,TRUE)
    print(s)
    

    当我们上面的代码执行时,它产生以下结果:

    [1] "apple" "red"   "5"     "TRUE" 

    访问向量元素

    一个向量的元素使用索引访问。[]括号是用来进行索引。索引位置始于1。 给出索引负值将从结果元素中丢弃。TRUE, FALSE 或 0 和 1。也可用于索引。

    # Accessing vector elements using position.
    t <- c("Sun","Mon","Tue","Wed","Thurs","Fri","Sat")
    u <- t[c(2,3,6)]//访问2,3,6位置的元素
    print(u)
    
    # Accessing vector elements using logical indexing.
    v <- t[c(TRUE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE)]//凡是false的位置,结果不做输出
    print(v)
    
    # Accessing vector elements using negative indexing.
    x <- t[c(-2,-5)]//2和5索引位置数据由于是负数,表示不输出
    print(x)
    
    # Accessing vector elements using 0/1 indexing.
    y <- t[c(0,0,0,0,0,0,1)] //如果是数组相等的位置,0位置表示数值不做输出。
    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+v2
    print(add.result)
    
    # Vector substraction.
    sub.result <- v1-v2
    print(sub.result)
    
    # Vector multiplication.
    multi.result <- v1*v2
    print(multi.result)
    
    # Vector division.
    divi.result <- v1/v2
    print(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+v2
    print(add.result)
    
    sub.result <- v1-v2
    print(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" 
  • 相关阅读:
    【今日CV 视觉论文速览】 19 Nov 2018
    【numpy求和】numpy.sum()求和
    【今日CV 视觉论文速览】16 Nov 2018
    【今日CV 视觉论文速览】15 Nov 2018
    poj 2454 Jersey Politics 随机化
    poj 3318 Matrix Multiplication 随机化算法
    hdu 3400 Line belt 三分法
    poj 3301 Texas Trip 三分法
    poj 2976 Dropping tests 0/1分数规划
    poj 3440 Coin Toss 概率问题
  • 原文地址:https://www.cnblogs.com/csguo/p/7294174.html
Copyright © 2011-2022 走看看