楼主: withoutpity
2066 2

[问答] R怎么对数据框的第N列排序? [推广有奖]

  • 0关注
  • 0粉丝

高中生

22%

还不是VIP/贵宾

-

威望
0
论坛币
95 个
通用积分
0.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1144 点
帖子
19
精华
0
在线时间
26 小时
注册时间
2008-7-3
最后登录
2024-8-27

楼主
withoutpity 发表于 2019-10-21 11:12:27 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
想要对数据框的第N列排序怎么操作呢?
比对数据框名叫CJ,按第七列排序,用Order命令出错
order(CJ[,7])
Error: Must use a vector in `[`, not an object of class matrix.
Call `rlang::last_error()` to see a backtrace

R的版本是3.6.1
二维码

扫码加我 拉你入群

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

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

关键词:数据框 matrix Vector object Order

回帖推荐

owenqi 发表于2楼  查看完整内容

如果你是数据框(data.frame)的话,你可能需要看看你的第七列的名字是什么。

沙发
owenqi 在职认证  学生认证  发表于 2019-10-22 11:02:49
如果你是数据框(data.frame)的话,你可能需要看看你的第七列的名字是什么。
  1. m <- as.data.frame(matrix(1:49, 7))
  2. m[order(m$V7),]
复制代码
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

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

藤椅
withoutpity 发表于 2019-10-24 14:56:38
owenqi 发表于 2019-10-22 11:02
如果你是数据框(data.frame)的话,你可能需要看看你的第七列的名字是什么。
谢谢回复兄弟。后来我自己解决了。我是想写一个给学生成绩排序的小程序,这样可以把学科字段用ZD这个参数传递到程序里。
E<-which(ZD == names(CJ))#能得到ZD参数代表的是第几列
TCJ<-CJ[order(-unlist(CJ[,E])),]##直接用CJ[,E]取出的列表形式,必须用UNLIST取消列表,这样可以实现按第E列降序排序。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-7 18:46