- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 4875 个
- 通用积分
- 360.1222
- 学术水平
- 60 点
- 热心指数
- 70 点
- 信用等级
- 42 点
- 经验
- 9962 点
- 帖子
- 243
- 精华
- 0
- 在线时间
- 1004 小时
- 注册时间
- 2016-11-28
- 最后登录
- 2025-5-3
|
- 可能有,但是自己也可以写,毕竟不是很难
- myfunc<- function(x, direction = "both", trim = 0.01, data) {
- if (! is.data.frame(data)) stop("data必须为数据框")
- if (! direction %in% c("both", "left", "rigth")) {
- stop("direction 参数仅限'both','left', 'rigth' ")
- }
- myda <- unlist(data[deparse(substitute(x))])
- if (direction == 'both') {
- quanmax <- quantile(myda, 1 - trim/2)
- quanmin <- quantile(myda, trim/2)
- data <- data[quanmin < myda & myda < quanmax, ]
- } else if (direction == 'left') {
- quanmin <- quantile(myda, trim)
- data <- data[myda > quanmin, ]
- } else {
- quanmax <- quantile(myda, 1 - trim)
- data <- data[myda < quanmax, ]
- }
- data
- }
- mydata <- as.data.frame(cbind(x = 1:1000, y = x[order(-x)]))
- myfunc(x, direction = 'left', trim = 0.01, mydata)
复制代码
|
-
总评分: 论坛币 + 10
查看全部评分
|