楼主: Gin1994
2371 2

[问答] 请问各位大大:如何在R中对某一列进行排序并根据排序结果增添新的一列? [推广有奖]

  • 1关注
  • 0粉丝

等待验证会员

初中生

33%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
71 点
帖子
9
精华
0
在线时间
16 小时
注册时间
2020-7-27
最后登录
2021-9-14

楼主
Gin1994 发表于 2020-7-27 14:03:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
例如有一个数据框:
Sample ASurv
S1 2 3.2134
S2 2 2.332
S3 33.2134
S4 4 5.62

如何能根据Surv列的从小到大的排序结果,新增一个排序的列Num(从1开始递增),但不改变原数据框的顺序。即例如:2.332最小,那么在Num列中其值为1;3.2134值比2.332大但是比其他的值都要小,那么在Num列中的新值为2;同理5.62这个,在Num列中为3.输出结果如下:
Sample A Surv Num
S1 2 3.2134 2
S2 2 2.332 1
S3 3 3.2134 2
S4 4 5.62 3


二维码

扫码加我 拉你入群

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

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

关键词:Sample AMPL 从小到大 输出结果 NUM R语言 排序

沙发
maths_hjxk 发表于 2020-7-27 16:19:33
  1. library(dplyr)
  2. df%>%mutate(Num=dense_rank(Surv))
复制代码
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

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

藤椅
sanjie27 发表于 2020-7-28 21:39:42
也可以用rank()
a.png

板凳
Gin1994 发表于 2020-7-31 17:09:17
maths_hjxk 发表于 2020-7-27 16:19
哇感谢大佬!

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

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