R语言:翻转

这期介绍数组、字符串的翻转,元素间翻转,元素内翻转,采用rev、str_rev函数,并给出几个例子。

rev

元素间翻转

> x <- c(1:5, 5:3)
> x
[1] 1 2 3 4 5 5 4 3
> rev(x)
[1] 3 4 5 5 4 3 2 1

> x <- c("ABC", "DEF", "GHIJ")
> rev(x)
[1] "GHIJ" "DEF"  "ABC" 

str_rev

元素内翻转

> install.packages("Kmisc")
> library(Kmisc)
> x <- c("ABC", "DEF", "GHIJ")
> x
[1] "ABC"  "DEF"  "GHIJ"
> str_rev(x)
[1] "CBA"  "FED"  "JIHG"

> x <- c(1:5, 5:3)
> x
[1] 1 2 3 4 5 5 4 3
> str_rev(x)
[1] "1" "2" "3" "4" "5" "5" "4" "3"

> x <- "I am here."
> x
[1] "I am here."
> str_rev(x)
[1] ".ereh ma I"
> rev(x)
[1] "I am here."

自定义翻转函数

自己写翻转函数, 实现rev函数的功能,并且比它更加的灵活

fanzhuan <- function(a,start,end)
{
  while(start < end)
  {
    temp = a[start]
    a[start] = a[end]
    a[end] = temp
    start = start + 1
    end = end - 1
  }
  return(a)
}

>a<-c(1,2,3,4,5)
>a
[1] 1 2 3 4 5
>fanzhuan(a,1,5)
[1] 5 4 3 2 1
>rev(a)
[1] 5 4 3 2 1

版权声明:本文为xxzhangx原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。