R语言高速筛选

作者: leoatchina | 来源:发表于2016-03-21 15:02 被阅读160次

    来自 http://cos.name/cn/topic/110644/

    目前手上有一个4W行,30列的数据
    希望可以像EXCEL一样,每列设一个值,然后筛选出符合条件的行
    但是如果用EXCEL的话,没筛选一次需要操作30列,在前期探索条件的时候是在是很大的工作量。
    有看到一个R的下标写法 y[y$1 >5 & y $2 <5…,] 这样的。
    还有朋友提到使用SUBSET函数,但是这个似乎也不好用。

    看到一个有点变态的r语言代码,关键是><的使用

    system.time({
        d_col <- 30
        d_row <- 40000
        df <- matrix(rep(1:d_row, times = d_col), ncol = d_col)
        mm=sample(2,d_col,T)
        ind1=c(5,10)[mm]
        ind2=c( `>`,`<`)[mm]
        y=sapply(1:d_col,function(n){ind2[[n]](df[,n],ind1[n])})
        z=y[rowSums(y)==30,]
    })
    

    相关文章

      网友评论

        本文标题:R语言高速筛选

        本文链接:https://www.haomeiwen.com/subject/ufmklttx.html