Suite

Updatecursor renvoie avec 'variable non définie'


Je me bats un peu avec la fonction curseur depuis ce matin. Grâce à l'aide des personnes ici et à quelques tutoriels, j'ai trouvé que j'étais arrivé jusqu'ici

import arcpy arcpy.env.workspace = "C:UsersDocumentsScoringEcodis_clip_split" #set workspace to folder with values ​​value = [] #create list pour la valeur de retour de searchCursor eco = arcpy.SearchCursor ( "Anagance.shp", "", "", "area_ha", "") #rechercher la valeur dans la table d'attributs pour la ligne dans eco : value.append(row) #écrire la valeur dans la liste arcpy.env.workspace = "C:UsersDocumentsScoringWetland" #définir l'espace de travail dans le dossier avec les valeurs diss = arcpy.UpdateCursor ("diss_1.shp", "", "", "area_eco", "") pour la ligne in diss: row.setValue(area_eco, row.getValue(value)) #identify all the rows and Update die field area_eco avec la valeur extraite du curseur de recherche hors de la liste cursor.updateRow(row) del eco del diss

Il rebondit avec

area_eco n'est pas défini

Ce qui signifie - si j'ai bien compris le concept de python - que ce n'est pas une variable. Ture, c'est mon domaine qui doit être mis à jour. Qu'est-ce que je fais mal?


S'il n'y a qu'une seule valeur dans votre table initiale, cela fonctionnera, mais s'il y en a plus, un autre code sera requis.

import arcpy arcpy.env.workspace = "C:UsersDocumentsScoringEcodis_clip_split" #définir l'espace de travail dans un dossier avec des valeurs # VOUS N'AVEZ PAS besoin de le faire pour 1 valeur -- value = [] # créer une liste pour la valeur de retour de searchCursor ## SI VOUS AVEZ PLUSIEURS CHAMPS - alors vous devez les mettre dans une liste ou un dictionnaire, et pouvez les référencer dans le UpdateCursor. eco = arcpy.SearchCursor ("Anagance.shp") # boucle - cela affectera la dernière valeur de la ligne AREA_ECO à la variable "valeur" comme vous l'avez dit que vous le vouliez. pour la ligne dans eco : value = row.AREA_ECO arcpy.env.workspace = "C:UsersDocumentsScoringWetland" diss = arcpy.UpdateCursor ("diss_1.shp", "", "", "area_eco", "") pour la ligne dans le disque : row.setValue("AREA_ECO", valeur) diss.updateRow(ligne) del eco del diss

Pourquoi la variable d'environnement n'en renvoie aucun sous Linux ?

Dans Windows pour définir une nouvelle variable = valeur, nous pouvons simplement l'ajouter à la variable d'environnement. Cependant, sous Linux, cela semble un peu difficile. voici la procédure que j'ai suivie :

puis appuyez sur le clavier "i" puis définissez la variable comme suit :

après $echo je vois la variable :

mais dans mon sublime Texte il renvoie Aucun.

J'ai même vérifié tous les os.environ disponibles mais je ne trouve pas mon Test_MyVariable . De plus, j'ai aussi essayé avec

/.profile et y a ajouté une variable, mais le même résultat. Pourriez-vous s'il vous plaît me dire ce que je fais mal?


Le moyen le plus rapide est probablement d'ajouter ces deux lignes au début du script :

La première ligne définit l'option nounset dans le shell exécutant le script, qui s'interrompt si vous essayez de développer une variable non définie, la seconde développe $BATCHNUM dans le contexte d'un no-op, pour déclencher l'abandon avant de faire quoi que ce soit d'autre.

Si vous voulez un message d'erreur plus utile, vous pouvez plutôt écrire :

Ici, vous voulez vérifier que BATCHNUM est défini et non nul.

Le shell POSIX fournit une extension de paramètre pour ce travail. Il suffit d'ajouter cette ligne avant d'utiliser BATCHNUM :

ou mieux pour définir la valeur par défaut pour BATCHNUM si l'utilisateur n'en a pas fourni :

Cela fonctionnera sur bash et dans un sh POSIX. Je préfère ne pas faire la différence entre les variables vides et les variables non définies (c'est-à-dire que je n'aime pas set -u , mais c'est juste moi).

recherchez $BATCHNUM vide. Avec $PPID, vous pouvez faire tout le mal que vous voulez à votre parent ( tuer $PPID ). Pour assassiner votre grand-parent, vous devez obtenir l'identifiant du processus par d'autres moyens, par exemple en regardant les données dans /proc/$PPID .

Cependant, si votre parent meurt, il vous envoie un signal ( SIGHUP ), vous devez donc le piéger avant de commencer à tuer quelqu'un :

Mettre à jour: Si vous pensez que vous devez tuer vos parents, vous le faites mal. Renvoyez simplement un code de sortie significatif. Le script parent doit vérifier le code retour du script appelé et réagir en conséquence.

Pour tester si BATCHNUM est défini et quitter si ce n'est pas le cas :

Si vous souhaitez également rejeter le cas où BATCHNUM est vide, utilisez $ au lieu de $ . Pour plus d'informations sur le $ construction d'expansion de paramètre, voir par ex. le manuel bash.

Ne tuez pas le processus parent. Vous ne savez pas quel est le processus parent. Si un script qui appelle celui-ci doit abandonner si ce script s'interrompt, faites-lui vérifier l'état de sortie de ce script. Par exemple. dans le script n°2 :

ou utilisez set -e pour abandonner le script si une commande renvoie un état d'échec (différent de zéro).


1 réponse 1

Scott Meyers a publié sur comp.lang.c++ (août 2010) un problème où la génération implicite de constructeurs de déplacement pouvait casser les invariants de classe C++03 :

Ici, le problème est qu'en C++03, X avait un invariant selon lequel son membre v avait toujours 5 éléments. X::

X() comptait sur cet invariant, mais le constructeur de déplacement nouvellement introduit est passé de v , fixant ainsi sa longueur à zéro.

Ceci est lié à votre exemple puisque l'invariant brisé n'est détecté que dans le destructeur de X (comme vous le dites, il est possible pour un destructeur d'un objet local de référencer l'objet qui est implicitement déplacé, et donc de voir de manière inattendue un vider objet).

C++11 essaie d'atteindre un équilibre entre la rupture d'une partie du code existant et la fourniture d'optimisations utiles basées sur des constructeurs de mouvements.

Le comité a initialement décidé que les constructeurs de déplacement et les opérateurs d'affectation de déplacement devraient être générés par le compilateur lorsqu'ils ne sont pas fournis par l'utilisateur.

Ensuite, il a décidé que cela était en effet une cause d'alarme et cela a restreint la génération automatique de constructeurs de déplacement et d'opérateurs d'affectation de déplacement de telle manière qu'il est beaucoup moins probable, mais pas impossible, que le code existant se brise (par exemple, un destructeur explicitement défini).

Il est tentant de penser qu'empêcher la génération de constructeurs de déplacement implicites lorsqu'un destructeur défini par l'utilisateur est présent est suffisant mais ce n'est pas vrai (N3153 - Implicit Move Must Go pour plus de détails).


Impossible d'obtenir la variable de sortie de la procédure Oracle à l'aide du serveur lié SQL

J'ai créé une connexion hétérogène entre SQL Server et Oracle et j'ai essayé d'appeler une procédure oracle à partir de SQL Server. J'ai eu une erreur en dessous lorsque j'ai essayé d'exécuter la procédure.

Le fournisseur OLE DB "ORAOLEDB.Oracle" pour le serveur lié "TESTORACLE" a renvoyé le message "ORA-06502 : PL/SQL : erreur numérique ou de valeur : tampon de chaîne de caractères trop petit ORA-06512 : à "TESTUSER.PKG_TEST", ligne 1744". Msg 7215, niveau 17, état 1, procédure SQLSTOREDPROCEDURE, ligne 75 [Batch Start Line 0] Impossible d'exécuter l'instruction sur le serveur distant 'TESTORACLE'.

J'ai parcouru le code et constaté que l'erreur se produit uniquement lors de l'attribution de la valeur pour le paramètre OUT.

PROCÉDURE SERVEUR SQL

PROCÉDURE ORACLE

Ensuite, j'ai googlé et modifié la procédure en spécifiant le paramètre OUTPUT dans SQL Server .

Après cela, j'obtiens l'erreur ci-dessous,

Msg 7215, niveau 17, état 1, procédure SQLSTOREDPROCEDURE, ligne 75 [Batch Start Line 0] Impossible d'exécuter l'instruction sur le serveur distant 'TESTORACLE'.

Merci de m'aider à surmonter cette erreur.

Même si le serveur SQL renvoie un message d'erreur, la procédure Oracle a été appelée. Vérifié avec un insert factice dans la table du journal des applications.


Pourquoi la variable d'environnement ClientName n'est-elle pas mise à jour pendant le script d'ouverture de session ?

J'exécute un script de connexion powershell lors de l'ouverture d'une session RDS sur Windows 2012 R2 Server. J'exécute également un script powershell dans le dossier de démarrage.

  • Lorsque je demande la variable d'environnement CLIENTNAME dans le script de connexion, j'obtiens le nom du client de session précédemment ouvert, pas le nom actuel. Si je supprime la propriété HKCUEnvironmentClientname du registre avant de fermer la session précédente, j'obtiens juste une valeur nulle pour ClientName lors de la connexion.
  • Lorsque je demande la variable ClientName dans le script lancé après l'ouverture de la session, j'obtiens le nom du client actuel (comme prévu).

Le serveur RDS est SRV-XA01 .

J'utilise également un petit utilitaire nommé gettscip.exe pour obtenir l'adresse IP du client

Je me connecte à TestClient1 puis je ferme la session. Puis je démarre une session depuis TestClient2 (les dates sont au format français jj/mm/AAAA ).

29/12/2016 10:57:07 : --- Nouvelle ouverture de session sur SRV-XA01 ---
29/12/2016 10:57:07 : * Nom du client (de env:CLIENTNAME) :
29/12/2016 10:57:10 : * Adresse IP : 10.100.20.202
29/12/2016 10:57:11 : * ClientName de [Environment]::GetEnvironmentVariables("user").ClientName : TestClient1
29/12/2016 10:57:11 : --- Script de connexion terminé avec succès ! ---

29/12/2016 10:57:25 : --- Script exécuté après l'ouverture de la session ---
29/12/2016 10:57:25 : * Nom du client (de env:CLIENTNAME) : TestClient2
29/12/2016 10:57:25 : --- Script terminé ---

Dans le script de connexion, env:CLIENTNAME renvoie une valeur nulle, [Environment]::GetEnvironmentVariables("user").ClientName renvoie le nom du client précédent. Après la connexion, tout est OK.

L'adresse IP que j'obtiens est la bonne du client actuel.

Alors pourquoi la variable d'environnement ClientName n'est-elle pas mise à jour au moment de l'exécution du script d'ouverture de session ?


1 réponse 1

Il y a pas mal de problèmes avec ce code :

Appels consécutifs de select . into result n'accumule pas de lignes dans result , chacune écrase ce qui était précédemment dans result .

Une variable tapée après une table (résultat de type result_load_status ici) est censée contenir une seule ligne de ce type, pas un ensemble de résultats entier. Pour un ensemble de résultats complet, utilisez CREATE TEMPORARY TABLE ou un curseur si possible.

select * from name_of_a_variable n'existe pas en tant que construction valide. Une table temporaire au lieu du nom d'une variable fonctionnerait.

Quoi qu'il en soit, puisque l'accumulation des résultats est déjà intégrée dans RETURN QUERY , vous n'avez besoin de rien de ce qui précède.

RETURN QUERY ajoute les résultats de l'exécution d'une requête au jeu de résultats de la fonction


Foire aux questions (FAQ)

Le système de données statistiques des scientifiques et des ingénieurs (SESTAT) est une base de données qui fournit des données démographiques, éducatives, d'emploi et de revenus sur les scientifiques et les ingénieurs aux États-Unis. Les scientifiques et les ingénieurs de cette base de données sont définis comme des personnes qui ont obtenu un diplôme d'études postsecondaires en sciences, en génie ou, dans des sondages ultérieurs, en sciences de la santé. Les personnes qui exercent une profession liée aux sciences ou au génie, même si elles n'ont pas de diplôme d'études postsecondaires en sciences ou en génie, sont incluses dans le fichier SESTAT.

La base de données est composée d'individus répondant à ces critères issus de trois enquêtes menées par la National Science Foundation : l'Enquête nationale auprès des diplômés universitaires, l'Enquête auprès des titulaires d'un doctorat et l'Enquête nationale auprès des diplômés universitaires récents. Les trois enquêtes sont menées en même temps, les questions communes aux enquêtes ont la même période de référence et ont une population cible similaire (personnes non institutionnalisées de moins de 76 ans titulaires d'un baccalauréat ou plus).
Chaque enquête composante SESTAT a été conçue pour être une représentation transversale de la population cible pour cette année-là. Cependant, certains répondants du SESTAT sont interrogés dans plusieurs enquêtes au fil du temps, ce qui permet une recherche longitudinale limitée. Pour plus d'informations sur le couplage des données longitudinales, visitez la page Données longitudinales.

Les fichiers SESTAT sont composés de microdonnées. Chaque enregistrement est une personne, avec toutes les caractéristiques codées numériquement. Contrairement à d'autres projets de données IPUMS, les enregistrements SESTAT ne sont pas organisés par ménages. Étant donné que les données sont des individus et non des tableaux, les chercheurs doivent utiliser un logiciel statistique pour analyser les millions d'enregistrements de la base de données. Un système d'extraction de données permet aux utilisateurs de sélectionner uniquement les échantillons et les variables dont ils ont besoin.

Quelle est la différence entre SESTAT et SDR ? [Haut]

L'Enquête auprès des titulaires d'un doctorat (SDR) est l'une des trois sous-composantes d'enquête du Système de données statistiques sur les scientifiques et les ingénieurs. La base de sondage du SDR comprend tous les titulaires d'un doctorat résidant aux États-Unis et ayant obtenu un doctorat en recherche d'un établissement américain dans un domaine scientifique ou technique. Tous les répondants SDR sont inclus dans la version SESTAT des données. L'échantillon SDR complet d'origine contient certaines variables qui n'étaient pas incluses dans la version SESTAT. Veuillez consulter notre note d'utilisateur sur les conceptions d'enquêtes pour obtenir des informations sur les enquêtes qui composent les fichiers SESTAT.

Lorsque vous utilisez l'un des exemples de jeux de données SESTAT regroupés, utilisez la variable WEIGHT. Si vous utilisez l'échantillon complet de l'enquête SDR, utilisez la variable WTSURVY.

Les données de l'enseignement supérieur sont-elles représentatives au niveau national ? [Haut]

La population cible des enquêtes SESTAT est constituée de personnes non institutionnalisées de moins de 76 ans titulaires d'un baccalauréat ou d'un diplôme supérieur, ou d'une profession, dans un domaine des sciences, de l'ingénierie ou de la santé. Les poids fournis avec les données font que les estimations résultantes sont représentatives à l'échelle nationale de la population cible aux États-Unis au cours de l'année d'enquête.

Qui est considéré comme scientifique ou ingénieur ? [Haut]

Dans les bases de sondage des enquêtes SESTAT, un scientifique ou un ingénieur est une personne titulaire d'un baccalauréat ou d'un diplôme supérieur en sciences, en génie ou en santé, ou dans un domaine lié aux sciences, à l'ingénierie ou à la santé. Plus précisément, la liste suivante décrit les domaines d'études que la National Science Foundation niche sous les domaines de la science et de l'ingénierie ou des domaines liés à la science et à l'ingénierie.

Sciences et ingénierie

Informatique et mathématiques
Sciences de la vie biologiques, agricoles et environnementales
Sciences physiques (Physique, chimie, géosciences
Sciences sociales (psychologie, économie, science politique)
Ingénierie

Liés aux sciences et à l'ingénierie

Santé (Médecine, audiologie, soins infirmiers, physiothérapie)
Formation des professeurs de sciences et mathématiques
Technologie et domaines techniques (Technologie de l'ingénierie)

Autres domaines liés aux sciences et à l'ingénierie

Actuariat, design architectural ou environnemental

Les répondants qui ont un diplôme dans un domaine autre que les sciences, le génie ou un domaine lié à la santé pourraient également être inclus dans le SESTAT s'ils exerçaient une profession dans un domaine des sciences, du génie ou des sciences de la santé.

Quels types de données sont disponibles ? [Haut]

Les enquêtes SESTAT collectent des informations relatives à la démographie, à la participation au marché du travail, aux antécédents scolaires, à la famille et aux activités professionnelles. Pour des raisons de confidentialité, les informations géographiques telles que le lieu de naissance, l'emplacement de l'établissement universitaire ou la résidence actuelle sont parfois supprimées ou uniquement disponibles au niveau de la région.

Quelles sont les différences entre le saut logique, les blancs, les manquants et l'exclusion/confidentialité de l'enquête ? [Haut]

Dans les données originales de la NSF, il y avait trois types de réponses invalides. Il y avait également des blancs inexpliqués, auxquels IPUMS Higher Ed a attribué une valeur de réponse invalide.

Saut logique : en fonction de la réponse donnée par un répondant à une question de l'enquête, il peut avoir été invité par les instructions de l'enquête à sauter une question. Dans ce cas, une non-réponse était considérée comme un saut logique. Une autre façon d'encadrer cela est que le répondant n'appartenait pas à l'univers d'une question d'enquête.

Manquant : Un code manquant indique que le répondant était dans l'univers pour une question mais n'a pas répondu à une question d'enquête.

Exclusion/confidentialité de l'enquête : Dans les fichiers originaux de la NSF, si une question d'enquête n'a été posée que dans une seule enquête, les observations des répondants dans les deux autres enquêtes seront codées avec un « 97 ». Dans certains cas, des réponses telles que l'origine ethnique ou l'emplacement du répondant peuvent être supprimées pour empêcher l'identification de l'individu.

Vide : Dans les fichiers NSF originaux, il y avait des valeurs vides inexpliquées que nous avons choisi de coder différemment des cas explicitement identifiés comme manquants.

Dans IPUMS Higher Ed, nous avons imposé le schéma de codage cohérent suivant pour ces valeurs :

96 : vierge
97 : Exclusion/confidentialité de l'enquête
98 : Saut logique
99 : Manquant

Les noms de variables IPUMS Higher Ed sont-ils les mêmes que les noms de variables à usage public d'origine ? [Haut]

Dans la mesure du possible, les noms de variables IPUMS Higher Ed sont identiques aux noms de variables d'origine. Dans certains cas, les noms de variables ont changé au fil du temps et nous conservons généralement le nom de variable le plus récent. Veuillez consulter notre note d'utilisateur pour la correspondance des noms de variables.

L'analyse des données longitudinales est-elle possible avec l'IPUMS Higher Ed ? [Haut]

Oui, parce que certains répondants sont interrogés plusieurs fois dans les enquêtes NSF, il existe des possibilités d'analyse longitudinale. La variable PERSONID identifie les individus à travers les années d'enquête. (Elle remplace la variable d'origine, REFID, qui contient des valeurs non numériques dans certains échantillons.) IPUMS Higher Ed ne fournit pas de fichiers longitudinaux couplés. Cependant, les utilisateurs peuvent télécharger les échantillons qu'ils souhaitent et les lier facilement à l'aide d'un programme statistique, fusionnant par PERSONID . Des informations plus détaillées sur les modèles d'enquêtes de suivi peuvent être trouvées dans notre note d'utilisateur sur les données longitudinales.

Existe-t-il des poids longitudinaux que je peux utiliser pour les enquêtes à composante SESTAT ? [Haut]

Les poids longitudinaux ont été créés par la NSF, mais ils ne sont pas encore accessibles au public.

Est-il possible de relier les répondants à l'enquête NSCG à l'ACS ? [Haut]

Les données d'enquête de l'ACS et de la NSCG sont toutes deux protégées par le Code américain, Titre 13. Par conséquent, grâce aux techniques d'évitement de la divulgation utilisées par le Census Bureau, il n'est pas possible de lier les répondants de l'ACS aux répondants du NSCG. Pour les chercheurs qui souhaitent créer ces liens, contactez l'administration du Centre fédéral de données de recherche statistique (FSRDC) pour demander l'utilisation de la version restreinte des données du NSCG.

Puis-je lier les données IPUMS Higher Ed avec les données SESTAT à usage public d'origine ? [Haut]

Oui, le numéro d'identification de la personne d'origine REFID est disponible pour chaque échantillon IPUMS Higher Ed.

Par où un nouvel utilisateur doit-il commencer ? [Haut]

Le point de départ naturel est les liens « Sélectionner des données » ou « Parcourir et sélectionner des données » sur la barre de navigation de gauche et la bannière supérieure. Ces liens ouvrent la page des variables : l'outil principal pour explorer le contenu d'IPUMS Higher Ed. Par défaut, la page des variables affiche un groupe de variables à la fois pour tous les échantillons de la série de données. Vous pouvez modifier l'option d'affichage pour afficher tous les groupes simultanément, mais la page peut devenir très volumineuse et lente à charger. Cependant, vous pouvez filtrer les informations à tout moment pour n'inclure que les échantillons qui vous intéressent ("Sélectionner des échantillons").

Lorsque vous sélectionnez des échantillons, la page affiche uniquement les variables présentes dans ces échantillons. Un "x" indique la disponibilité d'une variable pour un échantillon particulier.

Sur la page des variables, cliquer sur un nom de variable fait apparaître sa documentation. Les informations sur la variable sont contenues dans un certain nombre d'onglets. L'onglet par défaut est la brève description de la variable. Plus d'informations sont généralement disponibles dans l'onglet "comparabilité". La page des variables a également des liens directs vers la page des codes pour chaque variable (elles sont également accessibles sous forme d'onglet dans la description de la variable). La page des codes affiche les codes et les étiquettes de la variable, ainsi que la disponibilité des catégories dans les échantillons. Ces catégories peuvent suggérer les types de recherche possibles avec un échantillon donné.

Tout au long du système de documentation des variables, il y a des boutons pour « Ajouter au panier ». Toutes les variables que vous sélectionnez de cette manière sont placées dans votre panier de données pour être incluses dans un extrait de données. Vos sélections ne durent que pour la session Web en cours.

Le panier de données en haut à droite garde une trace de vos sélections de variables et d'échantillons. Une fois que vous avez fait quelques sélections, vous pouvez cliquer sur « Voir le panier » pour revoir vos choix. Si vous avez sélectionné des variables et des échantillons, vous pouvez entrer dans le système d'extraction de données. Pour faire un extrait de données, vous devez être enregistré pour utiliser IPUMS Higher Ed. Si vous êtes déjà inscrit pour utiliser IPUMS Higher Ed, vous pouvez cliquer sur "créer un extrait" et utiliser le système d'accès aux données. Les instructions pour le système d'extraction sont ici.

Comment accéder aux données IPUMS Higher Ed ? [Haut]

L'accès à la documentation est libre et sans restriction cependant, les utilisateurs doivent s'inscrire avant d'extraire des données du site.

Les microdonnées sont composées d'enregistrements individuels contenant des informations recueillies sur des personnes. L'unité d'observation est l'individu. Les réponses de chaque personne aux différentes questions sont enregistrées dans des variables distinctes.

Les microdonnées contrastent avec les données « résumées » ou « agrégées » plus familières. Les données agrégées sont des statistiques compilées, telles qu'un tableau de l'état matrimonial par sexe pour une localité. Il n'y a pas de telles statistiques tabulaires ou récapitulatives dans les données SESTAT.

Les microdonnées sont intrinsèquement flexibles. Il n'est pas nécessaire de dépendre des statistiques publiées qui sont compilées d'une certaine manière, voire pas du tout. Les utilisateurs peuvent générer leurs propres statistiques à partir des données de la manière souhaitée, y compris des analyses multivariées au niveau individuel.

Tous les ensembles de données IPUMS Higher Ed incluent une variable de pondération. Chaque individu a un poids qui varie de 1 à 13 508,49, qui s'ajuste à la fréquence à laquelle les individus ayant des caractéristiques correspondant au répondant apparaissent dans la population cible réelle. La plupart des programmes statistiques ont des fonctions pour utiliser automatiquement des poids pour ajuster les analyses statistiques.

La variable de poids WTSURVY doit être utilisée pour les échantillons d'enquête complets, c'est-à-dire les échantillons d'enquête SDR originaux par opposition aux échantillons SESTAT regroupés. La variable appropriée pour analyser les fichiers SESTAT est WEIGHT. Puisqu'il est possible qu'un même individu fasse partie de la population cible pour plus d'une enquête NSF, la NSF ajuste le WTSURVY de chaque enquête pour une utilisation lorsqu'elles sont combinées dans un fichier SESTAT. Pour plus d'informations sur les plans d'enquête et la structure des fichiers de SESTAT, consultez notre note d'utilisateur sur la conception d'enquête.

Que signifie "universe" dans les descriptions des variables ? [Haut]

L'univers est la population qui a la possibilité de répondre à une question d'enquête particulière, ou qui a une valeur valide pour une variable. La population est déterminée par des caractéristiques individuelles ou des réponses particulières aux questions précédentes. Par exemple, on ne pose généralement pas de questions sur l'emploi aux enfants, et les questions sur la fécondité ne sont pas posées aux hommes et aux enfants. Les observations qui se trouvent à l'extérieur de l'univers pour une variable sont étiquetées « Ignorer logique » sur la page des codes. Les différences dans l'univers d'une variable entre les échantillons sont un problème courant de comparabilité des données. L'étiquette « Saut logique » est comparable à « NIU » dans d'autres projets de données IPUMS.

Toutes les données IPUMS sont livrées via notre système d'extraction de données. Les utilisateurs sélectionnent les variables et les échantillons qui les intéressent, et le système crée un extrait personnalisé contenant uniquement ces informations. Pour commencer, les utilisateurs peuvent consulter nos instructions pour le système d'extraction de données et les instructions pour ouvrir un extrait IPUMS sur votre ordinateur.

Les données sont générées sur notre serveur. Le système envoie un message électronique à l'utilisateur lorsque l'extrait est terminé. L'utilisateur doit télécharger l'extrait et l'analyser sur sa machine locale. L'accès à la documentation est libre et sans restriction cependant, les utilisateurs doivent s'inscrire avant d'extraire des données du site.

Dans quel format sont les données ? [Haut]

IPUMS produit des données ASCII à colonne fixe. Les données sont entièrement numériques. En plus du fichier de données ASCII, le système crée un fichier de syntaxe de progiciel statistique pour accompagner chaque extrait. Le fichier de syntaxe est conçu pour lire les données ASCII tout en appliquant les étiquettes de variable et de valeur appropriées. SPSS, SAS et Stata sont pris en charge. Vous devez télécharger le fichier de syntaxe avec l'extrait ou vous ne pourrez pas lire les données. Le fichier de syntaxe nécessite une modification mineure pour identifier l'emplacement du fichier de données sur votre ordinateur local.

Un fichier de livre de codes est également créé avec chaque extrait. Il enregistre les caractéristiques de votre extrait et doit être téléchargé à des fins d'archivage.

Tous les fichiers de données sont créés au format compressé gzip. Vous devez décompresser le fichier pour l'analyser. La plupart des utilitaires de compression de données géreront les fichiers.

Combien de temps prend un extrait de données ? [Haut]

Le temps nécessaire pour faire un extrait diffère selon le nombre et la taille des échantillons demandés, si la sélection de cas est effectuée et la charge sur notre serveur. Les extraits prennent généralement quelques minutes. Le système envoie un e-mail lorsque l'extraction est terminée, il n'est donc pas nécessaire de rester actif sur le site IPUMS pendant l'extraction.

Comment fonctionne la "sélection d'échantillons" sur le site Web IPUMS Higher Ed ? [Haut]

Lorsqu'un utilisateur entre pour la première fois dans le système de documentation des variables, tous les échantillons sont sélectionnés par défaut. Chaque variable du système s'affichera sur tous les écrans pertinents.

Les utilisateurs peuvent filtrer les informations affichées en sélectionnant uniquement les échantillons qui les intéressent. Seules les variables disponibles dans l'un des échantillons sélectionnés apparaîtront dans les listes de variables. Les pages de descriptions et codes des variables intégrées seront également filtrées pour n'afficher que le texte et les colonnes correspondant aux échantillons sélectionnés. Les sélections d'échantillons peuvent être modifiées à tout moment de votre session. Les sélections ne persistent pas au-delà de la session en cours.

Lorsqu'un utilisateur entre dans le système d'extraction après avoir sélectionné des échantillons, ces sélections sont transférées dans le système d'extraction de données.

Que signifie "ajouter au panier" ? [Haut]

En parcourant les variables dans le système de documentation, vous pouvez les placer dans votre panier de données. Des cases à cocher et des boutons étiquetés « Ajouter au panier » sont disponibles dans différents contextes à cet effet. Toutes les variables que vous identifiez de cette manière seront sélectionnées pour vous lorsque vous entrez dans le système d'extraction de données. Une fois dans le système d'extraction, vous pouvez revenir à la liste des variables pour effectuer d'autres sélections.

Pourquoi ne puis-je pas ouvrir le fichier de données ? [Haut]

Il y a deux explications probables :

1) Les données produites par le système d'extraction sont compressées (le fichier a une extension .gz). Vous devez utiliser un utilitaire de compression de données pour décompresser le fichier avant de pouvoir l'analyser.

2) Vous ne pouvez pas ouvrir le fichier de données directement avec un logiciel statistique. Le fichier est un simple fichier ASCII, et non un fichier système au format d'un quelconque logiciel statistique. Le système d'extraction génère cependant un fichier de syntaxe (configuration) pour lire le fichier ASCII dans votre progiciel statistique. Vous devez télécharger le fichier de syntaxe ainsi que le fichier de données depuis notre serveur, ouvrir le fichier de syntaxe avec votre progiciel de statistiques et modifier le chemin dans le fichier de syntaxe pour pointer vers l'emplacement des données sur votre ordinateur local. Vous êtes maintenant prêt à lire les données.

Existe-t-il un progiciel statistique préféré pour l'utilisation de l'IPUMS ? [Haut]

IPUMS prend en charge SPSS, SAS et Stata. Le système ne crée pas de fichiers de données dans ces formats, mais génère des fichiers de syntaxe avec lesquels lire les données ASCII.

Puis-je obtenir les données d'origine ? [Haut]

Les fichiers originaux de données d'enquête SESTAT et NSF à usage public d'origine se trouvent sur la page Web suivante du National Center for Science and Engineering Statistics.

Comment un enregistrement est-il identifié de manière unique ? [Haut]

Les variables REFID et PERSONID (un recodage de REFID) représentent un répondant individuel, bien que les répondants puissent apparaître dans différents échantillons. La combinaison de PERSONID/REFID et SAMPLE constitue un identifiant unique pour chaque enregistrement individuel dans IPUMS Higher Ed.

Y a-t-il des aspects délicats des données IPUMS dont il faut être particulièrement conscient ? [Haut]

Les échantillons de l'IPUMS Higher Ed sont pondérés : chaque individu ne représente pas le même nombre de personnes dans la population. Il est important d'utiliser les variables de poids lors de l'exécution d'analyses avec ces échantillons.

Il est important d'examiner la documentation des variables que vous utilisez. Les codes et les étiquettes des catégories variables ne disent pas tout. En d'autres termes, les étiquettes de syntaxe ne suffisent pas. Il y a deux choses auxquelles prêter une attention particulière. L'univers d'une variable - la population à risque de répondre à la question - peut différer de façon subtile ou marquée d'un échantillon à l'autre. Lisez également les discussions sur la comparabilité des variables pour les échantillons qui vous intéressent. Les problèmes de comparabilité importants doivent y être mentionnés. Si une variable revêt une importance particulière dans votre recherche (par exemple, c'est votre variable dépendante), vous êtes également bien servi pour lire le texte d'énumération qui lui est associé. Ce texte est directement lié à la variable, il est donc assez facile de l'appeler.

Quelles sont les principales limites des données ? [Haut]

IPUMS est entièrement composé de données d'échantillon, et certaines sous-populations peuvent être trop petites pour être étudiées avec les données d'échantillon.

Étant donné que les données sont d'usage public, des mesures ont été prises pour assurer la confidentialité. Les noms et autres informations d'identification sont supprimés. Plus important encore pour de nombreux chercheurs, l'information géographique est limitée.

Puis-je trouver des individus particuliers dans les données ? [Haut]

Non. Diverses mesures ont été prises pour assurer la confidentialité des données. Plus fondamentalement, les échantillons ne contiennent pas de noms ou d'adresses. Les données ne sont que des échantillons, il n'y a donc aucune garantie qu'un individu donné figurera dans l'ensemble de données.

Comment citer IPUMS Higher Ed ? [Haut]

Les rapports et publications utilisant les données IPUMS Higher Ed doivent être cités de manière appropriée. La citation est :

Centre de population du Minnesota. Enseignement supérieur IPUMS : version 1.0. [Base de données lisible par machine]. Minneapolis : Université du Minnesota, 2016.

Toute publication, rapport de recherche, présentation ou matériel pédagogique utilisant les données ou la documentation doit être ajouté à notre bibliographie. Le financement continu de l'IPUMS dépend de notre capacité à montrer à nos agences sponsors que les chercheurs utilisent les données à des fins productives.

Utilisez le menu "Variables" pour parcourir ou rechercher des variables :
Thèmes : variables par groupe
A-Z : variables intégrées par lettre
Recherche : afficher uniquement les variables qui contiennent du texte spécifié dans des champs particuliers

Utilisez les liens sur le côté droit du menu pour :
Select Samples : limite l'affichage des informations variables aux échantillons sélectionnés
Aide : vous dirige vers notre FAQ pour des instructions sur le système d'extraction
Options d'affichage : modifier l'affichage de la liste des variables ou obtenir de l'aide pour cette page
Clé d'étiquette d'échantillon : affiche une clé descriptive des étiquettes d'échantillon et comment elles correspondent aux différentes enquêtes NSF

Le menu
La page des variables vous permet de parcourir les variables tout en limitant et en contrôlant l'affichage des informations.

Le menu "Sélectionner les variables" permet de parcourir les variables. Vous pouvez également rechercher des variables en spécifiant des termes de recherche pour des champs spécifiques de métadonnées variables. Le système renverra une liste de variables qui incluent l'un des termes de recherche que vous indiquez.

Lorsque vous "Sélectionnez des échantillons", vous limitez la liste des variables pour afficher uniquement les variables disponibles dans au moins un de ces échantillons. Mais l'effet de la sélection d'échantillons s'étend à toutes les descriptions de variables et pages de codes auxquelles vous pouvez accéder via le système de variables. Seules les informations pertinentes pour vos échantillons sélectionnés seront affichées dans n'importe quel contexte pendant que vous parcourez les variables. Vous pouvez modifier vos sélections d'échantillons à tout moment.

La sélection d'échantillons est une bonne pratique lors de l'exploration de l'IPUMS, car la quantité d'informations peut être lourde. D'un autre côté, il faut parfois tout voir pour déterminer quels types de recherches sont possibles à l'aide de la base de données.

Les choix finaux sont « Options » et « Aide ». La rubrique "Options d'affichage" fait apparaître un écran qui propose un certain nombre de choix concernant l'affichage de la liste des variables. Chaque sélection a un choix par défaut.

Groupes d'enquête
Basculez entre la version longue d'un exemple d'étiquette et la version courte. For example, the long version of the SESTAT NSCG file in 1993 is S-NSCG 1993, while the short version is S-CG 1993.

Variable groups
Switch between viewing one variable group at a time and viewing all variable groups on one screen. Unless you have a limited number of samples selected, your browser may be slow to display all groups. The default view is one group at a time.

Variable availability information
Switch between displaying the full sample-specific availability matrix, and a view that only displays the total number of samples that contain each variable. Both views only display or sum the samples that the user has selected in "Select samples." The default view is the detailed availability information.

Variables that are not available for the selected samples
Switch between a view that only displays variables present in one of your selected samples, and a view that displays every variable, even if they are not available. The default view is to only display available variables.

Ordering of sample columns
Display the samples columns indicating variable availability in chronological order (oldest to newest) or reverse chronological order (newest to oldest). The default is reverse chronological (newest to oldest).

As you browse the variables, they are displayed in a list containing a number of columns. The variable name links to the variable description, which includes detailed comparability discussions, universes, and enumeration text. The variable codes -- and their associated labels -- can be accessed directly using the "codes" links.

In the area to the right of the "codes" column is a column for every sample that the user chose in "Select samples." By default, the most commonly requested samples from each year are selected. The country abbreviation and last two digits of the sample year identify each sample at the top of every column. Hover over the year with the mouse to see the full country name. If a variable is available in a given sample, an "x" is printed in that column.

Each variable has a box on the far left in the column labeled "Add to cart." Use these to identify variables you wish to include in a data extract.


Using the data extract system

You must be logged in to use the data extract system. If you are not registered, you must apply for access.

At the top right corner of the variables page is a summary of your data cart. This box displays the number of variables and samples you have selected. Clicking the yellow circle next to a variable places it in your data cart. You can view your data cart at any time by clicking "View Cart." The "View Cart" link only becomes operative when you have selected a variable or sample.

You data cart lists the variables pre-selected by the extract system as well as any variables you selected while browsing the documentation. As with the variable selection page, you can remove variables from your extract in this step by clicking the checkbox next to the variable in the "Add to cart" column. If you chose a variable but subsequently altered your sample selections in such a way that the variable is no longer available, it is indicated by an "i" icon.

The data cart also includes record type, links to codes pages, and sample availability for the variables in your cart.

Buttons are provided to return to the variable list to make more selections or to alter your sample choices. If you return to the variable list, click on "View Cart" again to return to the data cart.

When you are satisfied with your data selections, click "Create Data Extract" to finalize your extract request.

Why are some variables in my data cart preselected? [top]

Certain variables appear in your data cart even if you did not select them, and they are not included in the constantly updated count of variables in your data cart.

Unless you are absolutely certain you will not need one of these variables, we recommend that you not remove them from your data cart.

When you click "Create data extract" in the Data Cart, you come to the Extract Request page. All of the actions on this page are optional. If you wish, you can simply hit the "Submit" button and create your data extract. You will be prompted to log in if have not done so already.

The page summarizes your data extract and provides a number of options for customizing it. A link at the top expands to show the samples you selected. If any samples have notes associated with them, a message will appear on the samples bar to encourage you to review that information. Click the appropriate links to go back to the variable browsing and sample selection pages to alter your choices. You return to the extract request page via the data cart, where you can review the availability matrix for selections and easily drop variables by unchecking them.

When you submit an extract, there will be a short delay, rarely longer than a few minutes. You do not need to wait on our site for the job to be completed. The system will send you an email when your extract is ready.

The definitions of every extract will remain on our server indefinitely, but the data files are subject to deletion after three days. However, the screen where you download extracts has a feature that lets you revise old extracts. When you click on "revise," all your selections for that extract will be loaded into the system, after which you can edit or regenerate it. Note, however, that each successive data release can create difficulties for recreating old extracts, because codes might change.

Extract option: Select cases [top]

The "select cases" feature allows users to limit their dataset to contain only records with specific values for selected variables, such as persons age 65 and older. Multiple variables can be used in combination during case selection. Selections for multiple variables are additive, each being implicitly connected by a logical "AND" for processing purposes. You can only perform case selection on either the general or the detailed version of a variable, not both.

Users should be careful with the case selection feature. It is possible to select a specific variable category that does not exist across all the samples in your extract, thereby inadvertently excluding those samples from your dataset.

Extract option: Describe your extract [top]

You can describe your extract for future reference. Our system will display the description on the page where you download your data extract.


4 réponses 4

When reviewing code, I apply the following rules:

Always use const for function parameters passed by reference where the function does not modify (or free) the data pointed to.

Always use const for constants that might otherwise be defined using a #define or an enum. The compiler can locate the data in read-only memory (ROM) as a result (although the linker is often a better tool for this purpose in embedded systems).

Never use const in a function prototype for a parameter passed by valeur. It has no meaning and is hence just 'noise'.

Where appropriate, use const volatile on locations that cannot be changed by the program but might still change. Hardware registers are the typical use case here, for example a status register that reflects a device state:

Other uses are optional. For example, the parameters to a function within the function la mise en oeuvre can be marked as const.

or function return values or calculations that are obtained and then never change:

These uses of const just indicate that you will not change the variable they don't change how or where the variable is stored. The compiler can of course work out that a variable is not changed, but by adding const you allow it to enforce that. This can help the reader and add some safety (although if your functions are big or complicated enough that this makes a great difference, you arguably have other problems). Edit - eg. a 200-line densely coded function with nested loops and many long or similar variable names, knowing that certain variables never change might ease understaning significantly. Such functions have been badly designed or maintened.

Problems with const . You will probably hear the term "const poisoning". This occurs when adding const to a function parameter causes 'constness' to propagate.

Edit - const poisoning: for example in the function:

if we change str to const , we must then ensure that fuction_b also takes a const . And so on if function_b passes the str on to function_c , etc. As you can imagine this could be painful if it propagates into many separate files/modules. If it propagates into a function that cannot be changed (eg a system library), then a cast becomes necessary. So sprinkling const around in existing code is perhaps asking for trouble. In new code though, it is best to const qualify consistently where appropriate.

The more insidious problem of const is that it was not in the original language. As an add-on it doesn't quite fit. For a start it has two meanings (as in the rules above, meaning "I'm not going to change this" and "this cannot be modified"). But more than that, it can be dangerous. For example, compile and run this code and (depending upon the compiler/options) it may well crash when run:

strchr returns a char* not a const char* . As its call parameter is const it must jeter the call parameter to char* . And in this case that casts away the real read-only storage property. Edit: - this applies generally to vars in read-only memory. By 'ROM', I mean not just physical ROM but any memory that is write-protected, as happens to the code section of programs run on a typical OS.

Many standard library functions behave in the same way, so beware: when you have réel constants (ie. stored in ROM) you must be very careful not to lose their constness.


5 réponses 5

The magic word in the X window system is DISPLAY. A display consists (simplified) of:

A display is managed by a server program, known as an X server. The server serves displaying capabilities to other programs that connect to it.

The remote server knows where it has to redirect the X network traffic via the definition of the DISPLAY environment variable which generally points to an X Display server located on your local computer.

The value of the display environment variable is:

hostname is the name of the computer where the X server runs. An omitted hostname means the localhost.

D is a sequence number (usually 0). It can be varied if there are multiple displays connected to one computer.

S is the screen number. A display can actually have multiple screens. Usually, there's only one screen though where 0 is the default.

hostname:D.S means screen S on display D of host hostname the X server for this display is listening at TCP port 6000+D.

host/unix:D.S means screen S on display D of host host the X server for this display is listening at UNIX domain socket /tmp/.X11-unix/XD (so it's only reachable from host).

:D.S is equivalent to host/unix:D.S, where host is the local hostname.

:0.0 means that we are talking about the first screen attached to your first display in your local host

From the user's perspective, every X server has a display name of the form:

hostname:displaynumber.screennumber

This information is used by the application to determine how it should connect to the server and which screen it should use by default (on displays with multiple monitors):

hostname The hostname specifies the name of the machine to which the display is physically connected. If the hostname is not given, the most efficient way of communicating to a server on the same machine will be used. displaynumber The phrase "display" is usually used to refer to a collection of monitors that share a common keyboard and pointer (mouse, tablet, etc.). Most workstations tend to only have one keyboard, and therefore, only one display. Larger, multi-user systems, however, frequently have several displays so that more than one person can be doing graphics work at once. To avoid confusion, each display on a machine is assigned a display number (beginning at 0) when the X server for that display is started. The display number must always be given in a display name. screennumber Some displays share a single keyboard and pointer among two or more monitors. Since each monitor has its own set of windows, each screen is assigned a screen number (beginning at 0) when the X server for that display is started. If the screen number is not given, screen 0 will be used.

The existing answers fail to address the broader picture.

If you are not using a graphical environment (i.e. you are logging in on the system console with no windows etc or you are logging in remotely from a text-only terminal over SSH or similar, such as from a Windows computer running PuTTY) then no GUI is involved, and DISPLAY will typically be unset. Your only means of communicating with the computer is the command line (though there may be ways to pivot into a GUI session if you know how).

If you are logging in on the console with a graphical interface (on Ubuntu, typically the GDM greeter is used) or using a graphical terminal (such as from a Windows computer running eXceed or mobaX, or remote desktop software like a VNC client) the DISPLAY variable is set up by the program which manages your graphical session to indicate to graphical clients which I/O devices to connect to.

Traditionally, the GUI on an Ubuntu computer was running X.org, an X11 implementation, though more recently, a modernized replacement called Mir was introduced by Canonical and even more recently, I believe Mir will be abandoned in favor of another project with broadly similar goals called Wayland. These replacements are intended to reduce the complexity of a full X11 stack, which we will not be going into here -- they adhere to the same DISPLAY convention, which is after all what we are discussing here.

On X11, the host part of DISPLAY could be a remote server, and you would use your Ubuntu computer as a "graphical terminal" to access files and programs on that remote server (in which case your computer is the "server" which serves a keyboard, a mouse, and one or more display devices to "client" programs running on the remote . server). More commonly, the X11 (or Mir, or Wayland) server and the client programs (a desktop manager and various graphical clients such as a web browser, an email client, a calendar program, etc) all run on your computer. This is indicated by the "server" part of the DISPLAY value, which in the latter case is typically empty (which implies the default value, localhost ).

An X11 server may run one or more graphical sessions -- for example, your console login and a remote VNC session could be running at the same time. In this case (if they are managed by the same X11 server instance) you have more than one "display" in X11 terms. In practice, one session (one login event and the desktop instance spawned from this) is one display in X11.

One such display can have one or more screens. Traditionally, this meant one monitor, though the original architecture had some unfortunate traits such as the inability to move a window from one screen to another. Add-ons like Xinerama and Xrandr further muddied the situation to the point where one screen often connects multiple monitors in various ways.

If you have played with multiple-monitor systems, you have probably discovered that you can arrange monitors in various ways and end up with a rectangular area where your monitors display some parts of it and other parts are not assigned to any monitor. This is the "screen" that X11 creates, and if you have more than one display card, you can have multiple of these screens, each assigned to one or more monitors (or in theory, running without a monitor Xvfb exploits this to allow you to run X11 without any monitors, simply mapping the GUI to a memory region for whatever purpose).


Voir la vidéo: Muuttujan arvon määrittäminen, kun funktion arvo tunnetaan (Octobre 2021).