Aptech Systems, Inc. Worldwide Headquarters
Aptech Systems, Inc.
2350 East Germann Road, Suite #21
Chandler, AZ 85286
Ready to Get Started?
For Pricing and Distribution
Training & Events
Step-by-step, informative lessons for those who want to dive into GAUSS and achieve their goals, fast.
Have a Specific Question?
Q&A: Register and Login
Premier Support and Platinum Premier Support are annually renewable membership programs that provide you with important benefits including technical support, product maintenance, and substantial cost-saving features for your GAUSS System or the GAUSS Engine.
Join our community to see why our users are considered some of the most active and helpful in the industry!
Where to Buy
Available across the globe, you can have access to GAUSS no matter where you are.
Recent Tagsapplications character vectors CML CMLMT Constrained Optimization datasets dates dlibrary dllcall error error codes errors Excel FANPACMT file i/o floating network GAUSS Engine GAUSSplot graphics GUI hotkeys installation Java API libraries license licensing linux loading data loops matrices matrix manipulation Maxlik MaxLikMT operators optimization Optmum PQG graphics procs random numbers string functions strings structures threading Time Series writing data
Time Series 2.0 MT
Find out more now
Time Series MT 2.1
unique(): Testing a vector for duplicates
I have a numeric vector x that I’ll need to rank. Before ranking however, I’d like to check whether it has any elements that occur more than once.
I suppose one way that I could do that is to check whether
rows(x) == rows(unique(x));
That seems like a lot of work, collecting all the unique entries only to count them and then discard them.
Is there a quicker or more elegant way?
I believe it will be quite a bit faster to first sort the data and then do a vectorized comparison of each element xi with the next element xi+1.
sort_x = sortc(x, 1); rep = sort_x[1:rows(sort_x)-1] .== sort_x[2:rows(sort_x)]; if sumc(rep); //we have repetitions else; //all data unique endif;
Some quick and limited testing shows this to be about 40% faster.