f******y 发帖数: 2971 | 1 比如说我有一个vector,怎么样才能快速生成另一个大小相同的vector,使得这个新
vector里的每一个元素都是前面哪个vector里到目前元素个数为止满足某一条件的个数。
举个例子吧,如果input vector是
1, 1, 2, 3, 4, 6, 7
如果我想输出的vector的元素是input vector里到目前为止奇数出现的次数,那么生成
的新vector就是:
1, 2, 2, 3, 3, 3, 4 | k*******a 发帖数: 772 | | Y****a 发帖数: 243 | 3 din <- c(1,1,2,3,4,6,7)
dout <- sapply(1:length(din),function(i) {
sum(din[1:i] %% 2)
})
dout | Y****a 发帖数: 243 | 4 嗯,这个更好
【在 k*******a 的大作中提到】 : cumsum(x%%2==1)
| f******y 发帖数: 2971 | |
|