R语言:翻转

本文探讨了R语言中如何进行数组和字符串的翻转操作,包括使用内置的`rev`和`str_rev`函数,以及如何编写自定义翻转函数以实现更灵活的翻转功能。

这期介绍数组、字符串的翻转,元素间翻转,元素内翻转,采用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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值