我想使用R的唯一row值来过滤数据集。虽然我的数据集相当大,但为了便于发布此查询,我已经概念化了数据表和我想要运行的查询。当我尝试运行代码时,我得到一个错误(由row.names > 3
中的错误引起)。谢谢你的帮助。
temp <- data.frame(Text = c("a","b","c","d","e"))
a <- temp %>%
filter(row.names > 3)
Expected output
Text
4 d
5 e
试试这个,看看它是不是你想要的:
a <- temp %>%
mutate(row.number = row_number()) %>%
filter(row.number > 3)
可能这样做:
temp[4:nrow(temp),, drop = FALSE]
或:
temp %>% slice(4:nrow(temp))
不建议使用行名。
1)使用slice_tail。N = -3表示除前3行以外的所有行。
library(dplyr)
temp %>%
slice_tail(n = -3)
## Text
## 1 d
## 2 e
2)或者只使用基数R:
tail(temp, -3)
## Text
## 4 d
## 5 e