抛出R中的顶部和底部N个数据点

时间:2017-11-14 18:45:46

标签: r regression linear-regression outliers

我是R的新手,我试图寻找答案。我读到了分位数和"部分"排序的论点,但如果我遗漏了一些明显的东西,我会道歉。我想知道是否有办法做到以下几点:

  1. 获取未排序的数据集并在x
  2. 上对其进行排序
  3. 丢掉前N个数据点
  4. 丢掉底部的N个数据点
  5. 执行回归
  6. 例如,如果我有400个数据点,我可能想要丢掉前5个和后5个数据点(不要丢掉前5%的值等,就像我相信分位数一样)。

    这是我到目前为止执行回归的代码(其中一些" if" -statements有点复杂,所以我把它们中的大部分留下来试图简化) :

    所有内容都在数据框和#34;依赖项中。"

    myY <- dependencies$yValue
    myX0 <- dependencies$xValue
    if ( timeInterval == 0 ) {
      cat("A","\n")
      myY <- dependencies$yValueAlternate
    } else if ( timeInterval == 1 ) { 
      myX1 <- dependencies$xValueAlternate
    }
    
    ##Add truncation step
    
    if ( timeInterval == 0 ){
      myLm <- lm(myY~myX0,dependencies)
    } else if ( timeInterval == 1){
      myLm <- lm(myY~myX0+myX1,dependencies)
    }
    print(myLm)
    intercept <- coef(myLm)["(Intercept)"]
    beta1 <- coef(myLm)["myX0"]
    

    感谢您阅读以及您可以给予的任何建议/指示。

1 个答案:

答案 0 :(得分:0)

如果您故意从数据框中提取数据,这可能会有所帮助。括号内的括号很重要。

x <- sample(1:10000, 500, replace = TRUE)
n <- 5
z <- x[(1+n) : (length(x) - n)]
length(z)
[1] 490