经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
数据科学与人工智能
›
数据分析与数据科学
›
R语言论坛
请教data.frame 多列排序问题
楼主
nothk
7878
3
收藏
2016-05-14
a<-c(1,3,2,4)
b<-c("dd","aa","bb","cc")
c<-c(TRUE,FALSE,FALSE,FALSE)
d<-data.frame(a,b,c)
> d
a b c
1 1 dd TRUE
2 3 aa FALSE
3 2 bb FALSE
4 4 cc FALSE
我想让C列从小到大排序,再B列从大到小排序
理想的结果:
a b c
1 4 cc FALSE
2 2 bb FALSE
3 3 aa FALSE
4 1 dd TRUE
网上搜出来的方法是按 d[order(d
$
c,-d
$
b),] 但是会出现错误:
Warning message:
In Ops.factor(d$b) : ‘-’ not meaningful for factors
如果我想用这个order函数,要怎么实现正确排序?
还有就是,我最后想到的方法是用sqldf包,直接sqldf("select * from d order by c, b DESC")搞定,
但因为实际要处理的data.frame很大,我需要某十列从小到大,某几列从大到小。
sqldf包处理起来感觉挺慢的, 不知道有没有更加节约时间有效率的方法?
多谢了。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
全部回复
沙发
hyu9910
2016-5-14 17:05:57
多写几行代码,自己写个小程序排序一列。 然后多次调用就可以吧。
或者,EXCEL里面排序2次EXPAND,也可以
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
藤椅
万人往LVR
2016-5-14 17:33:10
复制代码
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
板凳
nothk
2016-5-14 17:47:00
万人往LVR 发表于 2016-5-14 17:33
运行成功,多谢,我昨天试了as.numeric不成功,不过把as.integer忘记了....
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
相关推荐
怎样去掉 data frame 中的某个值,如去掉0或NA值
关于data.frame的一个问题
如何根据data.frame2来修改data.frame1
如何拆分单一的data.frame
R data frame的问题
关于data.frame的几个问题
如何计算data.frame里每一列为0和NA的个数
[求助]如何往data.frame里面加新列
如何将data.frame的第一列变为属性
data.frame的问题
栏目导航
R语言论坛
世界经济与国际贸易
金融学(理论版)
悬赏大厅
学道会
产业经济学
热门文章
表格结构数据的核心特征及具象实例解析
下载到假资源如何退单
高教现代数学基础23 矩阵计算六讲 徐树方,钱 ...
安徽全省一盘棋发力汽车产业
【24顶刊热点!】2000-2024上市公司股价崩盘 ...
现代数学基础21 控制论中的矩阵计算 徐树方
求Journal of Computational and Graphical ...
【24重磅,详细,顶刊热点!】2000-2024上市公 ...
查找文献Digital mapping of soil organic ...
《技术的本质》epub版本
推荐文章
2026JG学术冬训营:从Stata初高到Python机器 ...
【必看】【本版版规,欢迎发悬赏贴求助】
26年寒假天津站|Gemini论文写作&数据分析 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群