R语言高速筛选

来自 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语言高速筛选)