楼主: renyongbin
23788 8

[问答] R 排序结果中自动加序号列 [推广有奖]

  • 0关注
  • 1粉丝

已卖:594份资源

博士生

6%

还不是VIP/贵宾

-

威望
0
论坛币
5908 个
通用积分
1.1500
学术水平
0 点
热心指数
1 点
信用等级
1 点
经验
3523 点
帖子
58
精华
0
在线时间
219 小时
注册时间
2009-4-1
最后登录
2018-3-5

楼主
renyongbin 发表于 2015-11-11 16:45:04 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
R中怎么将排序的结果 自动增加序号列(1、2、3、4、5),赋值给其他对象,谢谢!

test1[order(-test1[,4]),] #降序排列
  mb_flag pre_result  rev_flag        flag
5       0          0 0.9399245 0.060075524
1       0          0 0.9709450 0.029055007
3       0          0 0.9709450 0.029055007
2       0          0 0.9952824 0.004717648
4       0          0 0.9952824 0.004717648
6       0          0 0.9952824 0.004717648
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:加序号 Result RESUL Order Flag

沙发
cadxpzm 发表于 2015-11-11 16:52:07 来自手机
renyongbin 发表于 2015-11-11 16:45
R中怎么将排序的结果 自动增加序号列(1、2、3、4、5),赋值给其他对象,谢谢!

test1[order(-test1[,4]) ...
也想学R语言

藤椅
hongweigg 发表于 2015-11-11 19:59:26
你的意思是再加一列序号是吗,假设test1是data.frame型,新增序号列(名为"no"):
test1$no<-order(-test1[,4])
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
胡老 + 5 + 5 + 5 精彩帖子
admin_kefu + 15 热心帮助其他会员

总评分: 论坛币 + 15  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

板凳
renyongbin 发表于 2015-11-12 10:17:15
hongweigg 发表于 2015-11-11 19:59
你的意思是再加一列序号是吗,假设test1是data.frame型,新增序号列(名为"no"):
test1$no
谢谢哦,不过不是这个意思,按照你发的那个执行,增加的列是原数据自带的列序号,希望实现的是,如期望实现的列 那样的排序。
mb_flag pre_result  rev_flag        flag no  期望实现的列
       0          0 0.9399245 0.060075524  4 1
       0          0 0.9709450 0.029055007  5 2
       0          0 0.9709450 0.029055007  3 3
       0          0 0.9952824 0.004717648  1 4
       0          0 0.9952824 0.004717648  2 5
       0          0 0.9952824 0.004717648  6 6

报纸
hongweigg 发表于 2015-11-13 10:00:31
如果要将数据集进行排序,则重新输出:
test2<-test1[order(-test1[,4]),]

#下面这个仅仅是加个序号而已,非原数据自带序列号
test2$no<-1:length(test1[,4])

已有 1 人评分论坛币 收起 理由
李会超 + 10 精彩帖子

总评分: 论坛币 + 10   查看全部评分

地板
renyongbin 发表于 2015-11-13 12:21:39
hongweigg 发表于 2015-11-13 10:00
如果要将数据集进行排序,则重新输出:
test2
非常感谢!

7
胡老 发表于 2017-4-22 08:53:32
hongweigg 发表于 2015-11-11 19:59
你的意思是再加一列序号是吗,假设test1是data.frame型,新增序号列(名为"no"):
test1$no
很好,谢谢!!

8
Ariel1991 发表于 2018-4-21 10:57:05
renyongbin 发表于 2015-11-12 10:17
谢谢哦,不过不是这个意思,按照你发的那个执行,增加的列是原数据自带的列序号,希望实现的是,如期望实 ...
我也想实现和你一样的想法,hongweigg的方法之前,你先保存一下排序的结果,再用他的这个句子,就可以了。

9
rainningpoet 发表于 2018-4-23 02:21:30
library(dplyr)
test1%>%arrange(desc(flag))%>%mutate(no=rownames(test1))

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 12:30