Je m'excuse à l'avance si cela a une réponse simple quelque part. Cela semble être le genre de chose qui pourrait, mais je ne peux pas sembler la localiser dans les fichiers d'aide, en les recherchant, ou par Googling. P>
Je travaille avec des jeux de données de plusieurs Go en ce moment. Il suffit de s'adapter à la mémoire sur l'un des nœuds de cluster que j'ai accès, mais prend un peu de temps à charger. Pour de nombreuses activités de débogage / de programmation avec ces données, je n'ai pas besoin de l'ensemble du fichier chargé, juste des premières milliers d'observations pour avoir un jeu de données sur lequel tester le code. Je peux bien sûr juste lire tout le dossier dans et le sous-ensemble, mais je me demandais s'il y a un moyen de dire Je pourrais également utiliser un format approprié comme .csv, puis utiliser lis.dta () code> pour lire uniquement dans les premières lignes? Ce serait bien sûr beaucoup plus rapide. P>
lis.csv () code> "STROWS NROWS, mais je perdrais ensuite les étiquettes des facteurs de l'ensemble de données STATA (et je dois Recréez assez de 1 Go de données du code de quelqu'un d'autre qui se nourrit de ce projet. Donc, une solution directe sur les fichiers .DTTA est préférée. P>
3 Réponses :
Ça va être difficile, car la fonction Dans mon humble avis, vous pouvez mieux créer un ensemble de fichiers de test à partir de STATA (par exemple, le code STATA do_readstata code> sous la hotte est compilée du code, uniquement capable de prendre dans l'ensemble du fichier. Je crois que dans les fichiers binaires généraux sont difficiles à lire la ligne par ligne et
.dta code> est un format binaire. De plus, le format binaire natif de R ne permet pas de sélectionner un nombre de lignes à partir du jeu de données tout en lisant. P>
Sample 1000, comptage code> vous donnera un échantillon de 1000 observations de l'ensemble de données chargé) et travailler avec eux. Et si vous n'avez pas accès à Stata, quelqu'un d'autre dans le projet devrait pouvoir le faire pour vous. P>
Bummer, mais merci. J'imagine que c'est théoriquement possible, cependant, parce que vous pouvez le faire dans Stata avec quelque chose comme utiliser myfile.dta dans 1/1000 code>. J'essaie de m'en tenir autant que possible, mais je peux juste aller Stata-ize les ensembles de test.
@ GSK3: Il est possible que Joshua a expliqué que Joshua a expliqué, mais vous devez trouver un moyen de lire la fin du fichier aussi pour obtenir les étiquettes.
Les fichiers binaires de Stata sont écrits par ligne à ligne, de sorte que vous pouvez modifier la fonction r_loadstatatatatata code> dans
stataread.c code> pour limiter le nombre de lignes lues. Toutefois, Cela ne fonctionnera que si vous n'avez pas besoin des étiquettes de valeur, car ils sont écrits à la fin du fichier et vous demanderaient de lire l'ensemble du fichier - qui ne sauverait aucun moment. P>
Suivi de Joris Meys: Pour ce genre de chose, j'utilise un ensemble de données "test" et le jeu de données "réel", chacun dans des dossiers distincts. Je garde une macro en haut du fichier .do (avec des instructions si / puis des instructions ci-dessous) à (1) prendre un échantillon des données et (2) entrée / sortie du point / sortie dans le dossier droit contenant l'une ou l'autre. Je le fais probablement différent pour chaque projet, mais quelque chose comme ceci:
Création de données. Dossier Strong> P> local test = "test_"
// when you're ready to run the file with all the data, use the following
// local test = ""
use `test'data/myfile.dta
blah blah blah
outreg2 ... using `test'output/mytable.txt
Il pourrait s'agir de la peine de pointer votre statut-collègue en utilisant la fonction de la fonction code> sur la fonction code> pour l'exportation vers la CSV. Un peu tard pour ce projet peut-être, mais cela pourrait faciliter la prochaine fois que vous travaillez ensemble. ATS.ULA.EDU/STAT/STATA/FAQ/OUTATSHEET.HTM < / a>