结果是2,4,6,...,18,20
如果是seq(2,20,1)或者seq(2,20)
那么结果是2,3,4,...,18,19,20
有更简单的方法:2*(1:10)
其中括号可以省略,因为冒号的运算优先级更高。
rep(2,10)是2重复10次的,就是2,2,2,...,2
(10个2)
rep是replicate的简写,是重复的意思。
那么整句话:rep(seq(2,20,2),
rep(2,10))
就是
2,4,6,...,18,20这个序列,第一个元素重复2次,第二个元素重复2次,。。。,第10个元素重复2次。
duplicated() 找出重复出现的元素。给出一例子>test<-c(21,22,22,23,22,23,24)
>duplicated(test)
[1] FALSE FALSE TRUE FALSE TRUE TRUE FALSE
看得出duplicated()给出的是判断坐标:首次出现的22,函数给的值是F,但再次出现就成T了。
>indicator<-duplicated(test)
>table(test[indicator])
22 23
2 1
这是重复出现了几次(不包括首次)
所以你要的加1就行了。
>table(test[indicator])+1
22 23
3 2