楼主: zxz0731
13677 4

[问答] 如何整行去掉数据框里分位数99%以上、1%以下的极端值? [推广有奖]

  • 0关注
  • 0粉丝

高中生

2%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
55 点
帖子
7
精华
0
在线时间
33 小时
注册时间
2014-3-8
最后登录
2016-7-13

楼主
zxz0731 发表于 2015-4-16 20:19:38 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据框大约有180行*8列,代表180只股票的5个参数。其中有一列参数为收益率r,想分别删除 r 最高、最低那1%的样本(即最高的2个、最低的2个,希望自动四舍五入),整行删除。
请教大神,用subset或其他现有package,如何实现?谢谢!

二维码

扫码加我 拉你入群

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

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

关键词:分位数 极端值 数据框 package Subset 收益率 样本

沙发
hugebear 发表于 2015-4-16 22:56:40
这个其实不用什么特别的package, 最基本的R命令应该就可以搞定, 设你的原始数据框为x,
  1. attach(x)
  2. ind <- (r > quantile(r, 0.01)) & (r < quantile(r, 0.99))
  3. detach()
  4. x[ind, ]
复制代码
已有 3 人评分论坛币 热心指数 收起 理由
求证1加1 + 1 热心帮助其他会员
李会超 + 20 分析的有道理
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 40  热心指数 + 1   查看全部评分

藤椅
zxz0731 发表于 2015-4-19 22:37:19
hugebear 发表于 2015-4-16 22:56
这个其实不用什么特别的package, 最基本的R命令应该就可以搞定, 设你的原始数据框为x,
谢谢!经测试可用。最终代码如下:
  1. attach(x)
  2. r <- as.numeric(as.character(r))
  3. r.center <- (r > quantile(r, 0.01)) & (r < quantile(r, 0.99))
  4. detach()
  5. x <- x[r.center, ]
  6. rm(r)
  7. attach(x)
复制代码

板凳
zlsir 发表于 2017-4-1 15:55:34
请问,这样做的目的是什么呢?去掉极端值?

报纸
award 发表于 2019-3-15 20:24:07
xiexie,xiexie.

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 13:43