假设我有一个向量:
remove <- c(17, 18, 19, 20, 24, 25, 30, 31, 44, 45)
.
如何选择/提取向量中的每一秒值?像这样:17, 19, 24, 30, 44
我正在尝试使用该seq
功能:seq(remove, 2)
但它并不完全有效。
任何帮助是极大的赞赏。
remove[c(TRUE, FALSE)]
会成功的。
这个怎么运作?
如果逻辑向量用于 R 中的索引,则如果索引向量比包含这些值的向量短,它们的值将被回收。
这里,向量remove
包含十个值。如果使用索引向量c(TRUE, FALSE)
,实际的命令是:remove[c(TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE)]
因此,选择所有具有奇数索引号的值。
remove[seq(1,length(remove),2)]
只是另一种选择:
remove[seq_along(remove) %% 2 > 0]
# [1] 17 19 24 30 44