R 语言中如何调整 matrix 和 dataframe 中列的顺序

生物信息工作的一大苦恼就是经常需要在各种语言之间切换,Java、Bash、R、Python、C/C++、Perl,甚至还有 H/ML5/CSS/Javascript,有些常用,有些隔数月乃至数年用到一次。以至于经常是逻辑上知道一个事情该怎么做,一个功能该怎么实现,却发现找不到合适的 API。尤其是 R 语言,由于和 Java/Python 这样的传统编程语言面向的主要应用场景不同,导致做同样事情的思路差异很大。偶然工作中遇到需要在 R 语言环境下调整 dataframe 列顺序的问题,网上粗略查了一下,多数是用 pandas 这样的第三方 package 来实现,但又懒得为这种小功能去安装 package,查阅 API。所幸找到了这个利用语言本身特性的方法,又谓好记性不如烂笔头,书之以备不时之用。

# 得到 dataframe 的列名数组
cols <- colnames(df)

# 根据需要,生成新的列名顺序,例如,把倒数第一列插入到正数第二列之前,假设目前的列名顺序是
# A B C D E F G H
# 操作以后会变成
# A H B C D E F G
new_cols <- c(cols[1], cols[length(cols)], cols[2:(length(cols) - 1)])

# 然后将 dataframe 按照新的列名顺序排列
df <- df[, new_cols]
  • 20
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值