楼主: zzp_1988
5846 9

[问答] R语言:如何在对一个向量排序的时候,也同时对它的关联向量排序 [推广有奖]

  • 2关注
  • 0粉丝

等待验证会员

大专生

38%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.0005
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
223 点
帖子
26
精华
0
在线时间
37 小时
注册时间
2014-1-11
最后登录
2019-4-2

4论坛币
有两个向量:
X <- c(1,2,3,4,5,6,7)
Y <- c(4,6,8,2,3,5,1)

向量X中的数字指的是电影的ID,向量Y中的数字指的是对应电影ID的评分
如何在对电影的评分排序的后,电影ID和电影评分还按照原来的对应顺序

比如说我们对Y排序:Y <- c(1,2,3,4,5,6,8)
那个X如何变成 :      X <- c(7,4,5,1,6,2,3)
从而还是按照原来的对应顺序

最佳答案

harpbreeze 查看完整内容

我来回你吧。 你把X,Y同时放到数据框里,然后对Y进行排序即可。代码如下: >X Y z new
关键词:R语言 如何
沙发
harpbreeze 发表于 2015-2-26 16:10:04 |只看作者 |坛友微信交流群
我来回你吧。
你把X,Y同时放到数据框里,然后对Y进行排序即可。代码如下:
>X <- c(1,2,3,4,5,6,7)
>Y <- c(4,6,8,2,3,5,1)
>z <-matrix(X,Y)
>new<-z[order(z$Y),]

new当中就是按Y排好序的结果了。

使用道具

藤椅
yywan0913 在职认证  发表于 2015-2-26 16:14:37 |只看作者 |坛友微信交流群
  1. X[order(Y)]
复制代码
已有 1 人评分学术水平 收起 理由
meishanjia1900 + 2 正解,这才是最简洁的答案

总评分: 学术水平 + 2   查看全部评分

使用道具

板凳
oliyiyi 发表于 2015-2-26 16:54:11 |只看作者 |坛友微信交流群
不是很明白楼主的问题

使用道具

报纸
zzp_1988 发表于 2015-2-26 18:34:31 |只看作者 |坛友微信交流群
oliyiyi 发表于 2015-2-26 16:54
不是很明白楼主的问题
X <- c(1,2,3,4,5,6,7)
Y <- c(4,6,8,2,3,5,1)
我的意思是X和Y中的数值是一一对应的,比如(1,4) (2,6) (3,8) (4,2) (5,3) (6,5) (7,1)
如何在对Y进行了排序以后,X中的数值还是保持与Y中的数值按照上面的对应关系

使用道具

地板
harpbreeze 发表于 2015-2-26 19:50:43 |只看作者 |坛友微信交流群
我来回你吧。
你把X,Y同时放到数据框里,然后对Y进行排序即可。代码如下:
>X <- c(1,2,3,4,5,6,7)
>Y <- c(4,6,8,2,3,5,1)
>z <-matrix(X,Y)
>new<-z[order(z$Y),]

new当中就是按Y排好序的结果了。
已有 1 人评分论坛币 收起 理由
admin_kefu + 50 热心帮助其他会员

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

使用道具

7
Kawai-Ho 在职认证  发表于 2015-4-25 20:44:43 |只看作者 |坛友微信交流群
harpbreeze 发表于 2015-2-26 16:10
我来回你吧。
你把X,Y同时放到数据框里,然后对Y进行排序即可。代码如下:
>X Y z new
好像改成z=data.frame(X,Y)才可以

使用道具

8
Kawai-Ho 在职认证  发表于 2015-4-25 20:44:46 |只看作者 |坛友微信交流群
harpbreeze 发表于 2015-2-26 16:10
我来回你吧。
你把X,Y同时放到数据框里,然后对Y进行排序即可。代码如下:
>X Y z new
好像改成z=data.frame(X,Y)才可以

使用道具

9
疯狂宝爸 发表于 2016-10-22 23:14:42 |只看作者 |坛友微信交流群
Y <- c(4,6,8,2,3,5,1)
sort(Y)得出的就是1,2,3,4,5,6,8
sort.list(Y)得出的就是Y的原来下标,即为7,4,5,1,6,2,3
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

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

使用道具

有两个向量:
X <- c(1,2,3,4,5,6,7)
Y <- c(4,6,8,2,3,5,1)
如果不用数据框就用 命名向量吧
names(Y) <- as.character(X)
sort(Y)

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-21 10:44