我在R中有一个data.table
,我想扔掉前n行和后n行。我想先进行一些过滤,然后截断结果。我知道我可以这样:
example=data.table(row1=seq(1,1000,1),row2=seq(2, 3000,3))
e2=example[row1%%2==0]
e2[100:(nrow(e2)-100)]
是否可以在一线之内做到这一点?我想到了类似的东西:
example[row1%%2==0][100:-100]
这当然是行不通的,但是有没有不需要其他变量的更简单的解决方案?
最佳答案
在这种情况下,您知道存在的一列(row1
)的名称,因此使用length(<any column>)
返回未命名的临时data.table
中的行数:
example=data.table(row1=seq(1,1000,1),row2=seq(2, 3000,3))
e2=example[row1%%2==0]
ans1 = e2[100:(nrow(e2)-100)]
ans2 = example[row1%%2==0][100:(length(row1)-100)]
identical(ans1,ans2)
[1] TRUE
关于r - 丢掉前n行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10110616/