楼主: yxh1125
1070 1

[问答] R语言代码问题 [推广有奖]

  • 0关注
  • 7粉丝

已卖:638份资源

讲师

32%

还不是VIP/贵宾

-

威望
0
论坛币
45 个
通用积分
15.3361
学术水平
8 点
热心指数
8 点
信用等级
8 点
经验
1934 点
帖子
92
精华
0
在线时间
815 小时
注册时间
2013-8-13
最后登录
2026-1-15

楼主
yxh1125 学生认证  发表于 2021-1-15 20:42:19 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
R语言如何进行缩尾处理,有相应的函数吗,谢谢。
二维码

扫码加我 拉你入群

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

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

关键词:R语言

沙发
乐天天12300 发表于 2021-1-15 23:29:28
  1. 可能有,但是自己也可以写,毕竟不是很难

  2. myfunc<- function(x, direction = "both", trim = 0.01, data) {
  3.   if (! is.data.frame(data)) stop("data必须为数据框")
  4.   if (! direction %in% c("both", "left", "rigth")) {
  5.     stop("direction 参数仅限'both','left', 'rigth' ")
  6.   }
  7.   myda <- unlist(data[deparse(substitute(x))])
  8.   if (direction == 'both') {
  9.     quanmax <- quantile(myda, 1 - trim/2)
  10.     quanmin <- quantile(myda, trim/2)
  11.     data <- data[quanmin < myda & myda < quanmax, ]
  12.   } else if (direction == 'left') {
  13.     quanmin <- quantile(myda, trim)
  14.     data <- data[myda > quanmin, ]
  15.   } else {
  16.     quanmax <- quantile(myda, 1 - trim)
  17.     data <- data[myda < quanmax, ]
  18.   }
  19.   data
  20. }

  21. mydata <- as.data.frame(cbind(x = 1:1000, y = x[order(-x)]))
  22. myfunc(x, direction = 'left', trim = 0.01, mydata)
复制代码
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

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

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-8 08:23