我最近发布了另一个问题,询问如何基于colunm变量创建新的data.frame。我认为这会解决我的问题,但我现在意识到我错了。 我的问题是,我如何在一个恒定的间隙中选择行并用它们创建一个新的data.frame? 就像,如果我有:
1 A B C
2 D E F
3 G H I
4 J K L
5 M N O
6 P Q R
我想要选择增长为2到2的行,如:
2 D E F
4 J K L
6 P Q R
但实际上在我的情况下,我需要选择40到40之间的行,并用它们创建一个新的data.frame。
对不起另一篇文章,但如果你们能帮助我,我会很高兴的。我是R的新用户。
答案 0 :(得分:0)
使用dplyr
包非常容易。
library(dplyr)
test %>% dplyr::filter(row_number() %% 2 == 0)
基本上,您正在调用行号并仅选择偶数行号。如果你想要每40行一次,你就会做row_number() %% 40 == 0
。如果您想从另一行开始并获得每40行,则只需将0
更改为另一个数字,因为%%
运算符执行模块化divs.ion。
答案 1 :(得分:0)
如果您不想加载任何额外的包,可以使用R基本函数:
选项1
df[seq_len(nrow(df))%%2==0,]
选项2
subset(df, seq_len(nrow(df))%%2==0)