如何导入.bson文件中的数据
我想在此处找到数据: https://thecodebarrian.wordpress.com/2014/02/02/14/crunching-30 Yars-of-nba-nba-data-nba-data-witha-with-mongodb-aggregation/(您可以在"结论"部分下载底部的数据). 数据有两个文件.首先,一个称为games.metadata.json的文件.完整的内容在这里: { "indexes" : [ { "v" : 1, "key" : { "_id" : 1 }, "ns" : "nba.games", "name" : "_id_" } ] } ,另一个文件称为games.bson. 此文件的示例是: @_idRÚüë›ΩuT ∫mÆboxd0´ players» 0‡ast blkdrbfgfg3fg3_pctfg3afg_pct.533fgaftft_pct.750ftamp41:00orbpfplaye
2 2024-04-04
编程技术问答社区
在Stata的do-file中把一条命令分成几行
我想在Stata 12中的do-file中运行keep命令: keep a1 a2 a3 a4 a5 b1 b2 b3 b4 b5 c1 c2 c3 c4 我想要的是以下操作: keep {a1 a2 a3 a4 a5 b1 b2 b3 b4 b5 c1 c2 c3 c4} 我知道{}括号没有做到这一点,但我正在寻找执行此操作的命令.使用#delimiter ;也不起作用. 我想这样做,因为变量的子组之间有一个关系(我打算通过使用a,b和c来发出信号),而且我想在代码中清楚地表达这一点.我永久添加并删除变量.请注意,我不想使用drop命令(在这种情况下,解决方案是微不足道的). 解决方案 有几种方法.一个正在使用///.一个例子: clear all set more off *----- example data ----- set obs 1 forvalues i = 1/25 { gen var`i' =
0 2024-04-03
编程技术问答社区
批量模式下的Stata命令行参数
a stata中有用的FAQ 参数可以传递给do文件.我的do文件看起来像这样: * program.do : Program to fetch information from main dataset args inname outname save `outname', emptyok // file to hold results insheet using `inname', comma clear names case // a bunch of processing save `outname', replace 根据常见问题解答,可以使用do filename.csv result.dta运行此脚本.当我从Stata内运行此命令时,一切正常.但是,该程序很长,因此我想以批处理模式运行它. Stata具有另一个FAQ 关于批处理模式. 结合这些网页中的信息,我在UNIX提示符下键入以下内容: $ nohup stata -b do program
10 2024-03-29
编程技术问答社区
从vim向stata发送代码
我一直在使用VIM在Windows上编写Stata脚本一段时间了.目前我正在学习R,并且我想完全切换到Linux作为操作系统(最近我在笔记本电脑上切换到Ubuntu). R与Windows和Linux中的VIM效果很好,但是有时我仍然需要使用Stata.在Windows中,我一直在使用STATA用户提供的简单自动脚本将行/整个文件发送到Stata进行评估.该脚本在Linux中不起作用. 这就是脚本的样子 ; AutoIt v3 script to run a Stata do-file from an external text editor ; Version 3.1, Friedrich Huebler, fhuebler@gmail.com, www.huebler.info, 30 March 2009 ; Declare variables Global $ini, $statapath, $statawin, $dofile, $winpause, $keypa
4 2024-03-28
编程技术问答社区
强制y轴从0开始,并仍然使用自动标签
我有一个y min开始良好的图,但是我想将0作为y轴的最小值包括在内,并且仍然具有stata 创建均匀间隔的y轴标签. 这是基线: sysuse auto2, clear scatter turn displacement 这会产生: 这几乎是我想要的,除了y范围在0中没有开始. 基于尼克·考克斯(Nick Cox)的这个答案( https://www.statalist.org/forums/forum/general-stata-discussion/general/1598753-force-force-force-force-chart-chart-chart-chart-chart-y-axis-to-start-to-start-to-start-toarto-start-at-start-at-start-at-start-at. -0 ),我将代码修改为: scatter turn displacement, yscale(range(0 .)
0 2024-03-23
编程技术问答社区
从Stata导入的 "有标签的 "tibble列中提取标签属性。
应用于Stata文件的Hadley Wickham的haven软件包,返回带有许多类型"标记"列的tibble.您可以使用str(),例如: 看到这些 $ MSACMSZ :Class 'labelled' atomic [1:8491861] NA NA NA NA NA NA NA NA NA NA ... .. ..- attr(*, "label")= chr "metropolitan area size (cmsa/msa)" .. ..- attr(*, "labels")= Named int [1:7] 0 1 2 3 4 5 6 .. .. ..- attr(*, "names")= chr [1:7] "not identified or nonmetropolitan" "100,000 - 249,999" "250,000 - 499,999" "500,000 - 999,999" ... 如果我可以简单地将所有这些标记的向量提取
0 2024-03-19
编程技术问答社区
在组内混合使用一个变量
这个问题是罗伯特·皮卡德(Robert Picard)提供的出色答案的扩展:如何随机分配给不同大小的组 我们有此数据集,该数据集与上一个问题相同,但添加了year变量: sysuse census, clear keep state region pop order state pop region decode region, gen(reg) replace reg="NCntrl" if reg=="N Cntrl" drop region gen year=20 replace year=30 if _n>15 replace year=40 if _n>35 如果我只想在所有观察结果(无需考虑组)中重新分配reg的分配,我可以实现上一篇文章的答案: tempfile orig save `orig' keep reg rename reg reg_new set seed 234 gen double u = runiform() sort u reg_
0 2024-03-17
编程技术问答社区
如何随机分配到不同规模的小组
说我有一个数据集,我想将观察值分配给不同的组,即数据确定的组的大小.例如,假设这是数据: sysuse census, clear keep state region pop order state pop region decode region, gen(reg) replace reg="NCntrl" if reg=="N Cntrl" drop region *Create global with regions global region NE NCntrl South West *Count the number in each region bys reg (pop): gen reg_N=_N tab reg 有四个reg组,所有大小.现在,我想将观察值随机分配给四组.这是通过生成一个随机数,然后根据随机数将观测值分配给一个组来完成的. . *Generate random number set seed 1 gen random = runiform
4 2024-03-17
编程技术问答社区
从Matlab导出到Stata的数字和字符串数组
我需要从MATLAB导出到Stata一系列数字和字符串. 例如: clear r=2; n=4; X=unifrnd(0,1,r,n); X_STATA=reshape(X.', r*n,1); id_STATA=kron((1:1:r).', ones(n,1)); mode_STATA=repmat(["AIR"; "TRAIN"; "BUS"; "CAR"],r,1); 在这里,我想导出X_STATA,id_STATA和mode_STATA. 我该怎么做? 特别是,我想确保X_STATA条目的逗号之后的数字被很好地导出,而没有不适当的近似值. 解决方案 在MATLAB中,您可以执行以下操作: writematrix(X_STATA, 'myfile.csv', 'precision', 17) 在Stata中,您会导入这样的数据: import delimited myfile.csv, asdouble
0 2024-03-07
编程技术问答社区
Stata:比较两个数据集并删除不同的变量
我有两个大数据集(每个都有1000多个变量),其中一个具有第二个变量,以及其他变量.我想获取所有这些其他变量的列表,然后将它们丢弃并将一个数据集附加到另一个数据集.我已经尝试了命令dta_equal,但是在这里发现了同样的问题: http://www.stata.com/statalist/archive/2011-08/msg00308.html 我猜append, keep()无法意识到我想直接做什么,即,在删除其他变量时无法附加数据集,因为我必须在keep()选项中手动在变量中键入一个变量,这是我的大数据集. 有什么方法可以处理? 解决方案 这里有几个STATA命令在这里很有用. 在第一个示例中使用了unab命令,以在数据集中列出变量较少的变量列表.第二个和第三个示例使用describe命令获取当前不在内存中的数据集中的变量列表. 最后一部分示例显示了如何使用扩展的宏列表功能来获取一个公共变量列表和两个数据集并非常见的变量集. * simula
16 2024-03-02
编程技术问答社区
如何在Stata中聚合关系数据?
我无法在以下Stata编程问题上缠住头: 我有一张桌子列出了客户购买的所有汽车,然后制造: Customer | Make | Price ----------------------- c1 | m1 | 1 c1 | m1 | 2 c1 | m3 | 1 c2 | m2 | 2 c3 | . | . 我想将其转换为一个带有一个观察/行的表格,每个客户都列出了每种品牌的最高价格: Customer | m1 | m2 | m3 ----------------------- c1 | 2 | 0 | 1 c2 | 0 | 1 | 0 c3 | 0 | 0 | 0 我该如何实现?我知道reshape wide,但是由于c1 | m1行,这无效.另外,c3的缺失值正在引起麻烦. 解决方
2 2024-01-19
编程技术问答社区
在批处理模式下找不到Stata命令
我正在尝试根据说明在批处理模式下运行stata .do文件在这里. 但是,Stata -b testdo.do产生: zsh: command not found: Stata 用StataMP替换Stata产生相似的结果. 我的怀疑是这是一个路径问题,但是我的.zshrc文件包括该行: export PATH=$PATH/Applications/Stata/StataMP.app/Contents/MacOS/ 和echo $PATH确认Stata的路径确实在$PATH变量中: echo $PATH /Users/arthurmorris/anaconda3/bin:/Users/arthurmorris/anaconda3/condabin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin/Applications/Stata/StataMP.app/Content
16 2023-12-26
编程技术问答社区
怎样才能在Mathematica中导入.eps而不丢失文本?
我试图将Stata作为.EPS文件产生的直方图导入到 Mathematica 中,但它不显示Axes的标签.也就是说,出于某种原因, Mathematica 不会导入. 如何避免这种情况?截至目前,我正在使用普通 Import["~/hst.eps"] 解决方案 我有一个类似的问题最近使用乳胶和PDF图,它也以EPS版本表现出来.我最终修改了用户写的graphexportpdf,并且事情似乎奏效了.也许您会发现该解决方案有帮助. 其他解决方案 Mathematica 当前(v.9)通常无法正确从.EPS文件导入文本元素.一种可能的解决方案是将图作为.pdf导出,而不是从绘制软件中的.pdf导出,然后Import生成的.pdf.如果您需要将文本导入文本,则可以使用"TextOutlines" -> False选项关闭概述. 如果不可能从绘图软件中导出.pdf,则可以 contract .pdfs .pdf 然后Import生成的.pdf如上所述. 对于您的文
28 2023-12-11
编程技术问答社区
Stata中的汉字
我正在研究包含汉字的数据集. Stata将其显示为Gibberish,我需要能够阅读这些内容.我找不到用于Stata的中文包.这样的东西是否存在? 我正在使用Windows 7 Professional和Statase 13(64位). 解决方案 转到Control Panel->Language->Advanced Settings. 单击Apply language settings to the welcome screen, system accounts, and new user accounts. in Administrative tab,在language for non-Unicode programs下,将其更改为中文(简化).如果您的计算机最初未设置为located in China. ,您可能需要更改系统语言环境 其他解决方案 对于那些通过Google到达这里的人.自从回答这个问题以来,已经有了很大的改进: "如
8 2023-12-07
编程技术问答社区
在Stata中如何在同一张图上叠加多张图?
我正在使用以下代码在Stata中的图表上绘制图.我想在同一图上绘制多个图.那可能吗?谁能告诉我该怎么办? 我想做的是在同一图中拥有以下类型的多个图. 进一步澄清:每个值的每个值都有多种均值和顺式,即每个仿真模型的一个平均值和CI.一个模拟模型的所有均值和顺式都将连接在一起. clear input str2 varname mean upper lower x1 30 25 35 x2 50 20 80 x3 60 50 70 x4 60 55 65 x5 65 55 75 end encode varname, gen(varname1) scatter mean varname1, xlabel(, valuelabel) || rcap upper lower varname1 || line upper mean lower varname1 解决方案 正如
16 2023-11-20
编程技术问答社区
Stata: 变量的要素
如何编辑变量的每2个值? 我的代码是: set obs 100 gen u = invnorm(uniform()) forvalues d = 1/50 { gen u[2*d] = u[2*d] + 1 } 我的代码怎么了? 解决方案 generate的语法不允许generate之后和=之前的存储类型和可变名称(和标签名称,无关紧要).帮助文件清楚地表明了这一点. 您在这里不需要循环.如果您想进行观察2、4,那么 gen new_u = u + 1 if mod(_n, 2) == 0 选择甚至观察数.更改现有变量generate是非法的,但是您可以去 replace u = u + 1 if mod(_n, 2) == 0 的缩写 mod(_n, 2) == 0 是 !mod(_n, 2) 鉴于将整数除以2的模量(严格,其余)只能为1或0,因此负零(逻辑false)为您提供了零(逻辑true).
10 2023-11-17
编程技术问答社区
在R中使用Stata变量标签
我有一堆我想在r. 中使用的stata .dta文件 我的问题是,变量名称对我无济于事,因为它们就像" Q0100"," Q0565"," Q0500"和" Q0202".但是,它们被标记为" PSU","怀孕人数","家庭负责人"和" Waypoint". . 我希望能够抓住标签(" psu"," Waypoint"等.),并将它们用作我的变量/列名称,因为我更容易使用. 有没有办法做到这一点,最好是在R中或通过Stata本身进行?我知道图书馆(外国)中的dread.dta,但不知道它是否可以将标签转换为可变名称. 解决方案 r没有内置的方式来处理可变标签.我个人认为,这是应该解决的不利条件. HMISC确实为Hadling变量标签提供了一些便利,但是这些标签仅通过该软件包中的功能认可. read.dta使用包含标签信息的属性" var.labels"创建data.frame.然后,您可以从中创建一个数据字典. > data(swiss) > write.d
20 2023-11-13
编程技术问答社区
哪些类型的语言允许编程创建可变名称?
这个问题纯粹是出于智力上的好奇心. 相对频繁地浏览了Python部分,我看到了许多问题,类似于 this ,有人要求一种定义全局变量的程序化方法.他们中的一些人知道exec的陷阱,其他人则不知道. 但是,我最近一直在Stata编程,其中以下是常见的: local N = 100 local i = 1 foreach x of varlist x1 - x`N' { local `x' = `i' * `i' ++i } 在Stata列表中,创建了一个具有名称N的本地宏,N N对100.本地宏x.然后,循环内的线将i的平方分配给x的扩展,x是一个与i相同结尾的本地宏.也就是说,在此循环之后 在python中,做类似事情的方法是: squares = {} for x in range(1,101): squares[x] = x**2 然后squares[7]等于7^2. 这是一个非常简单的示例. STATA宏还有很多
12 2023-11-13
编程技术问答社区
确认条件语句适用于Stata中>0的观察值
这让我困惑了一段时间,我还没有找到答案. 我处于一种情况下,我将标准化的数据清洁过程应用于(据称)类似结构化的文件,每年一个文件.我有以下声明: replace field="Plant" if field=="Plant & Machinery" 这是基于原始代码编写的结果.问题成为如果在第3年中,该变量中的类似值被编码为"Plant and MachInery ",因此上面的代码线不会由于文本字符串的差异而进行预期的更改,但不会导致错误提示没有改变. 我所追求的是某种确认> 0观察值实际上满足了每个实例在循环中执行的情况,否则返回错误.修剪,删除空间和标准化文本案例的任何组合都不是解决方法.同时,我不想在每个条件replace之前添加count if,然后assert语句,因为这变得很笨重. 除了进入RAW文件以确保变量值是标准化之外,是否有任何方法可以像我试图描述的那样"飞行"进行此验证?也许只编写一个结合count if,assert和replace的
6 2023-11-13
编程技术问答社区
如何识别/删除R中的非UTF-8字符
当我在R中导入Stata数据集(使用foreign软件包)时,导入有时包含无效的字符 utf-8 .这本身就足够令人不愉快,但是一旦我尝试将对象转换为我如何在字符串中识别非valid-utf-8-tharacter并在此之后删除它们? 解决方案 使用iconv和IT参数sub的另一个解决方案:字符串.如果不是na(在这里我将其设置为""),它用于替换输入中的任何不可转化字节. x
24 2023-11-11
编程技术问答社区