作者sacidoO (阿骂)
看板R_Language
标题[问题] numeric group by rank
时间Fri Jan 26 12:37:43 2018
[问题类型]:
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
使用者(已经有用R 做过不少作品)
[问题叙述]:
想要将numerical 变数根据/ 数值区间 /rank group/binning 在一起
理想状况是将相似数值组成新的组
限制
(1)由於变数量大 (>100) 不希望手动调区间
(2)bucket上限是20个 下限2个
(3)不使用ntile方法 因为平均分20组有可能将tie分成好几组 (which is 不合理)
ex.
x1 value:
-1.2,-1.1,-0.8,-0.6,-0.6,-0.6,0.0,0.0,0.0,1.8,1.9,2.1,2.2,8.8,8.9
x1_group(范例)
1 1 1 1 1 1 2 2 2 3 3 3 3 4 4
x2 value:
-100,-99,-88,-50,-49,-31,-22,0, 0, 0,0,0,1,2,3
x2_group(范例)
1,1,1,2,2,2,2,3,3,3,3,3,3,3,3
[程式范例]:
尝试一:
网上找了一些clustering method (ex. k-means)
但是该方法需要输入想要的组数 (但是因为变数分布不同 组数不应该是固定的)
尝试2:
看到有网友分享ddply transform rank group 的方法
ex. ddply(df, .(dep_var), transform, group=rank(x1,ties.method='min')-1)
但是这个方法会根据数值的真正值排序 并不会把"相似"值bin一起
不知道版上有没有人有处理过相似的问题 请教了!!
[关键字]:
binning / grouping numeric into categorical / clustering/...
选择性,也许未来有用
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 68.231.23.198
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1516941465.A.B13.html
1F:推 andrew43: 这终究还是决定於你要怎麽分组。按你的说明,同一个变 01/26 14:10
2F:→ andrew43: 数仍不会有一个特定的分组结果。 01/26 14:10