使用R中的选项卡txt列表更改数据框中的列位置
也许这是一个简单的问题,但我正在尝试更改 R 中数据框中的列的位置。我已经得到了这个数据框,
TargetID 1065197 1005204 97610 1011789 101075 1002206
cg00000029 0.4192448 0.4177188 0.4797760 0.4214448 0.5500357 0.5535228
cg00000108 0.9191919 0.9358317 0.9428818 0.9397804 0.9293985 0.9495835
cg00000109 0.8935743 0.9157031 0.8731022 0.8734130 0.9226335 0.8980497
cg00000165 0.1387203 0.1699675 0.2031603 0.1683728 0.1822674 0.1623122
cg00000236 0.7502784 0.7324294 0.7895553 0.7096000 0.7878484 0.7747281
cg00000289 0.5698198 0.5864769 0.6527094 0.5058923 0.6033058 0.6524675
并且我想使用这个列表文本文件重新排列位置,该文件指示每对列按顺序排列
101075 1005204
97610 1002206
1011789 1065197
所以结果一定是这样的
colnames(reordered_data_frame)
TargetID 101075 1005204 97610 1002206 1011789 1065197
有什么想法吗?
Maybe this is a simple question, but I'm trying to change the position of columns in a data frame in R. I've got this data frame
TargetID 1065197 1005204 97610 1011789 101075 1002206
cg00000029 0.4192448 0.4177188 0.4797760 0.4214448 0.5500357 0.5535228
cg00000108 0.9191919 0.9358317 0.9428818 0.9397804 0.9293985 0.9495835
cg00000109 0.8935743 0.9157031 0.8731022 0.8734130 0.9226335 0.8980497
cg00000165 0.1387203 0.1699675 0.2031603 0.1683728 0.1822674 0.1623122
cg00000236 0.7502784 0.7324294 0.7895553 0.7096000 0.7878484 0.7747281
cg00000289 0.5698198 0.5864769 0.6527094 0.5058923 0.6033058 0.6524675
And I want to rearrange the positions using this tabulated text file, which indicates every pair of columns in order
101075 1005204
97610 1002206
1011789 1065197
So the result must be something like this
colnames(reordered_data_frame)
TargetID 101075 1005204 97610 1002206 1011789 1065197
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您有一个按顺序排列的列名称向量,请说:
您可以使用以下命令对列重新排序(假设您的数据帧名为 dat):
通常,您需要调用
as.character()
在 colorder 上(因为列名称是数字),但是当我们连接“TargetID”文本时,向量c("TargetID", colorder)
会转换为字符。但一般来说,使用数字作为列名并不是最好的主意。If you have a vector of column names in order, say:
You can re-order your columns using (assuming your dataframe is named dat):
Normally, you'd need to call
as.character()
on colorder (since the column names are numbers), but when we concatenate the "TargetID" text, the vectorc("TargetID", colorder)
is converted to character. In general, though, it isn't the best idea to use numerics as column names.从名为“columns.txt”的文本文件中读取列名称
重新排列数据
Read columns names from text file named "columns.txt
Rearrange data