datasample — Randomly sample from data with or without replacement.
datasample(data,k) samples k observations from data. datasample(data,k,dim) samples along a selected dimension. [y,idx] = datasample(...) also returns one-based sampled indices.
Syntax
y = datasample(data, k)
y = datasample(data, k, dim)
y = datasample(___, Name, Value)
[y, idx] = datasample(___)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
data | Any | Yes | — | Population to sample from. |
k | Any | Yes | — | Number of samples. |
options | Any | Variadic | — | Dimension, replacement, and weights options. |
Returns
| Name | Type | Description |
|---|---|---|
y | Any | Random sample. |
idx | NumericArray | One-based sampled indices along the sampled dimension. |
Returned values from datasample depend on how many outputs the caller requests.
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:datasample:InvalidArgument | Inputs, dimensions, replacement flags, or weights are malformed. | sampling: invalid argument |
RunMat:datasample:Internal | Internal conversion or allocation fails. | sampling: internal error |
How datasample works
- Samples with replacement by default.
"Replace",falsesamples without replacement and requireskto be no larger than the sampled dimension."Weights",wsamples proportionally to nonnegative weights with at least one positive value.- Numeric, logical, string, and char arrays are supported.
- The default sampled dimension is the first nonsingleton dimension.
Examples
Sample rows
Y = datasample(X, 5)Sample columns without replacement
Y = datasample(X, 3, 2, "Replace", false)Return sampled indices
[Y,idx] = datasample(X, 10)Using datasample with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how datasample changes the result.
Run a small datasample example, explain the result, then change one input and compare the output.
FAQ
Does datasample change RNG state?⌄
Yes. It uses RunMat's global random stream, like other random builtins.
Related Stats functions
Random
binornd · bootstrp · dividerand · exprnd · gamrnd · lhsdesign · mvnrnd · normrnd · random · randsample · rng · trnd · unidrnd · unifrnd · wblrnd
Ml
bayesopt · classify · confusionmat · crossvalind · cvpartition · fitclinear · fitctree · fitlm · kmeans · knnsearch · lasso · lassoglm · linkage · lscov · mnrfit · optimizableVariable · pdist · pdist2 · perfcurve · predict · regress · ridge · squareform · test · training · tsne
Summary
binocdf · boxplot · cdf · cdfplot · chi2cdf · corr · corrcoef · corrcov · cov · cov2corr · dummyvar · ecdf · filloutliers · fitdist · geomean · grpstats · harmmean · icdf · isoutlier · kstest · kurtosis · lsline · mad · mode · nanmax · normalize · normcdf · norminv · normpdf · onehotdecode · onehotencode · pdf · prctile · quantile · refline · rmse · skewness · tabulate · tcdf · tiedrank · tinv · tpdf · ttest2 · wblinv
Hist
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how datasample is executed, line by line, in Rust.
- View the source for datasample in Rust on GitHub
- Learn how the RunMat runtime works
- Found a bug? Open an issue with a minimal reproduction.
About RunMat
RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.
- RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
- Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.