如何在R语言中编写交换向量两半的函数?示例:c(1,2,3,4,5,6)→c(4,5,6,3,2,1)
R语言实现6元素向量的两半交换函数
要实现你需要的功能,可以编写一个简单的函数,核心逻辑是拆分向量的前后两半,反转前半部分后与后半部分拼接,同时加入输入合法性检查避免错误:
swap_half <- function(vec) { if (length(vec) != 6) { stop("输入向量必须包含6个元素!") } c(tail(vec, 3), rev(head(vec, 3))) }
测试示例
运行以下代码验证效果:
original <- c(1, 2, 3, 4, 5, 6) swap_half(original) # 输出结果:[1] 4 5 6 3 2 1
代码说明
head(vec, 3):提取向量的前3个元素(即前半部分)rev():反转前半部分元素,得到c(3,2,1)tail(vec, 3):提取向量的后3个元素(即后半部分),得到c(4,5,6)c():将后半部分和反转后的前半部分拼接成最终结果- 长度检查:确保输入的向量严格为6个元素,防止非法输入导致错误
内容的提问来源于stack exchange,提问作者user19978016
相关产品推荐
相关产品推荐

