>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
# R语言判断字符串是否包含某字符,需要导入stringr包,两个函数都是可以的
stringr::str_detect(table$cust_id,'123')
grepl('123',table$cust_id)
先对两个vector中的元素都按从大到小的顺序排序 然后定义两个iterator,分别指向两个vector的头部 vector<int>firstvector<int>secondvector<int>::iterator poiFirvector<int>::iterator poiSecpoiFir=first.begin()poiSec=second.begin()然后循环直到poiFir指向first的尾部或poiSec指向second的尾部 每次循环的内部: 判断*poiFir和*poiSec的大小 (1)若相等,则为相同的元素,记录此值(可以另建一个vector<int>save用于存放相等的值,save.push_back(*poiFir)),再将poiFir++;poiSec++;(2)若*poiFir大于*poiSec的值,则将poiSec++; (3)若*poiFir小于*poiSec的值,则将poiFir++; 循环结束后,save中存储的值即为两个vector中相等的值 时间效率为两个vector中元素个数的和