由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 1个简单的R question
相关主题
问个r问题请教一个关于R的问题
a question about Rcopy and paste column in sas
求问 sas _c_ 什么意思求助!请教我这个SAS code哪里错了啊?
一个看着很简单sas的问题sas help
R question Help.求助:sas不同格式的日期比较
transform to gaussian?SAS里怎么根据VALUE来选择需要OUTPUT的COLUMNS
SAS Base 123题中47和112题疑问求助关于Excel IF 的function
[合集] 问excel牛人一个问题please help on R subtable question !
相关话题的讨论汇总
话题: rank话题: question话题: give话题: 数像话题: my
进入Statistics版参与讨论
1 (共1页)
s*****n
发帖数: 839
1
我有一组数像这样
x: 1 1 1 2 2 2 3 3 3 3
y: 3 2 1 2 3 1 4 3 2 1
我想在每一个x value以内rank y
My code:
for (i in seq (along=x) ){
rank<-rank(y,ties.method="min")
}
It's not working well. Give me strange numbers.
How to fix it?
Thank You!!
c*****m
发帖数: 4817
2
你想得到什么呢? 一个vector? 用你的例子,x value以内rank y的结果就是y吧
unlist(tapply(y, x, rank))

【在 s*****n 的大作中提到】
: 我有一组数像这样
: x: 1 1 1 2 2 2 3 3 3 3
: y: 3 2 1 2 3 1 4 3 2 1
: 我想在每一个x value以内rank y
: My code:
: for (i in seq (along=x) ){
: rank<-rank(y,ties.method="min")
: }
: It's not working well. Give me strange numbers.
: How to fix it?

G********0
发帖数: 129
3
这是应该返回一个length(x) by length (y)矩阵么?
s*****n
发帖数: 839
4
非常感谢你的回复.不过我不是想得到y,我想得到rank.
比如
x:1 1 1 2 2 2 4 4 4 3 3 3
y:2 1 3 3 2 1 1 2 3 4 6 7
那么,我sort by x,y以后就能得到:
x:1 1 1 2 2 2 3 3 3 4 4 4
y:1 2 3 1 2 3 4 6 7 1 2 3
这个时候我想生成z,
z:1 2 3 1 2 3 1 2 3 1 2 3
这个z应该在原来的数据里增加一列,标示着每个y在其对应x中的rank.
您看这个该怎么办?
谢谢!!

【在 c*****m 的大作中提到】
: 你想得到什么呢? 一个vector? 用你的例子,x value以内rank y的结果就是y吧
: unlist(tapply(y, x, rank))

s*****n
发帖数: 839
5
不是矩阵,是要y的rank出现在原来的数据里。

【在 G********0 的大作中提到】
: 这是应该返回一个length(x) by length (y)矩阵么?
a****0
发帖数: 51
6
Your original data(y) may cuase confusion, see following
require("plyr")
x=c(1,1,1,2,2,2,3,3,3,3)
y=c(4,6,1,3,9,1,3,10,2,1)
df=as.data.frame(t(rbind(x,y)))
ddply(df,"x",transform,rk=rank(y))
D******n
发帖数: 2836
7
Its not called rank y within x which confused ppl. It is actually a
common practice called "ranking by multiple columns"
x=c(1,1,1,2,2,2,3,3,3,3)
y=c(4,6,1,3,9,1,3,10,2,1)
new_y <- y[order(x,y)]

【在 s*****n 的大作中提到】
: 我有一组数像这样
: x: 1 1 1 2 2 2 3 3 3 3
: y: 3 2 1 2 3 1 4 3 2 1
: 我想在每一个x value以内rank y
: My code:
: for (i in seq (along=x) ){
: rank<-rank(y,ties.method="min")
: }
: It's not working well. Give me strange numbers.
: How to fix it?

s*****n
发帖数: 839
8
谢谢您的回复。
我的x 和y 都在一个数据里,生成的rank z我也想放在这个数据里,怎么做啊?

【在 D******n 的大作中提到】
: Its not called rank y within x which confused ppl. It is actually a
: common practice called "ranking by multiple columns"
: x=c(1,1,1,2,2,2,3,3,3,3)
: y=c(4,6,1,3,9,1,3,10,2,1)
: new_y <- y[order(x,y)]

1 (共1页)
进入Statistics版参与讨论
相关主题
please help on R subtable question !R question Help.
问R和C的循环语句transform to gaussian?
R中By函数是什么意思SAS Base 123题中47和112题疑问
R table问题弱问[合集] 问excel牛人一个问题
问个r问题请教一个关于R的问题
a question about Rcopy and paste column in sas
求问 sas _c_ 什么意思求助!请教我这个SAS code哪里错了啊?
一个看着很简单sas的问题sas help
相关话题的讨论汇总
话题: rank话题: question话题: give话题: 数像话题: my