假设我有一个向量:
remove <- c(17, 18, 19, 20, 24, 25, 30, 31, 44, 45).
如何选择/提取向量中的每个第二个值?像这样:17, 19, 24, 30, 44
我正在尝试使用该seq功能:seq(remove, 2)但它不太有效.
任何帮助是极大的赞赏.
Sve*_*ein 105
remove[c(TRUE, FALSE)]
Run Code Online (Sandbox Code Playgroud)
会做的.
这个怎么运作?
如果逻辑向量用于R中的索引,则如果索引向量小于包含值的向量,则它们的值将被回收.
这里,向量remove包含十个值.如果使用索引向量c(TRUE, FALSE),则实际命令为:remove[c(TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE)]
因此,选择具有奇数索引号的所有值.
Jil*_*ina 12
另一种选择:
> remove[seq_along(remove) %% 2 > 0]
[1] 17 19 24 30 44
Run Code Online (Sandbox Code Playgroud)