Иногда файл с данными бывает слишком большим: для простого тестирования того или иного алгоритма достаточно небольшой части данных, что сэкономит время, вычислительные ресурсы, и ускорит создание рабочего алгоритма.

В таком случае можно прибегнуть к простой конструкции rand() < fraction , которая будет работать как в SQL, так и во многих других хранилищах данных.

Для выборки из текстового файла с помощью awk алгоритм будет выглядеть следующим образом:

!awk '{if (rand()< 0.1) print $0}' data.txt > sample.txt

где:

  • 0.1 — процент выборки
  • sample.txt — файл выборки

Update:

более простым вариантом для csv файла может быть использование команды shuf -n из пакета GNU, которая:

  1. рандомизирует строки случайным образом
  2. выдаст первые n строк.
!shuf -1000 data.txt > sample.txt
Write a comment:

*

Your email address will not be published.

© 2014 In R we trust.
Top
Follow us: