假设我twoway在 Stata 中使用一些图形命令。如果我不采取任何操作,Stata 会根据数据中的最小和最大y和x值,以及决定何时更漂亮的某种算法,为y轴和x轴的范围选择一些合理的值。要扩展的范围,例如“0”而不是“0.0139”。精彩的!伟大的。
现在假设在绘制图表之后(或同时),我想在其上添加一些非常重要的文本,并且我想精确地选择文本出现的位置。拥有显示轴的最小值和最大值将很有用:如何获得这些最小值和最大值?(在调用图形命令之前或同时。)
注意:我不是问如何设置y或x轴范围。
如果发布Stata的.ado程序包,则可以使用以下行将.dta文件包括在.pkg描述文件中的安装文件中:
f amazingdata.dta
Run Code Online (Sandbox Code Playgroud)
但是,除了导航到用户选择的附加程序包的偏僻目录之外,尚不清楚如何用户可以如何加载这些数据。例如,是否可以通过以下命令使.ado文件的数据文件可用:
. sysuse amazingdata
Run Code Online (Sandbox Code Playgroud) Stata有一个round()功能.可以选择它所围绕的单位.我想使用任意浮点值舍入到两个小数位round(ArbitraryValue, 0.01).Stata display似乎明白这一点.但不知何故,内部表示round(ArbitraryValue, 0.01)仍然具有不可靠的浮点值:
.当地LevelA = 99.98765432123321
.ttest mpg == 20,level(`LevelA')
level()在小数点
r(198)后最多可以有两位数;.本地LevelB = round(`LevelA',0.01)
.迪`水平b"
99.99.ttest mpg == 20,level(`LevelB')
level()必须在10到99.99之间,包括
r(198);.设置跟踪
.ttest mpg == 20,等级(`LevelB')
[SNIP]
=本地0 mpg = 20,等级(99.99000000000001)
[SNIP]
r(198);
我怎么不理解如何正确地围绕?
所以这按预期工作:
. forvalues i = 1(1)3 {
2. di `i'
3. }
Run Code Online (Sandbox Code Playgroud)
1
2
3
而这不是:
. forvalues i = 3(1)1 {
2. di `i'
3. }
<--- that's an empty line that returns from the above loop.
Run Code Online (Sandbox Code Playgroud)
如果我想生产
3
2
1
Run Code Online (Sandbox Code Playgroud)
我真的需要得到这个吗?
. forvalues i = 1(1)3 {
2. di 3+1-`i'
3. }
Run Code Online (Sandbox Code Playgroud)
为什么?
我想在Mata中执行计算,返回标量结果.然后我想在Stata的宏中访问该结果.例如,我键入:
mata: st_numscalar("dog", sum(range(1,4,1)))
然后我输入(在Stata中):
di `dog'
然后我得到(没有):
When I expected to get:
10
考虑到宏可能dog首先需要存在,我在上面的命令前加上:
scalar dog = 0
但没有骰子.
然后,认为标量是奇怪的,为什么不简单地使用一个好的旧本地:
mata: st_local("dog", sum(range(1,4,1)))
但这只会让人感到悲痛(无论是否事先创建了一个带有数值的本地名为"dog").
我错过了什么?
如果我有一个带参数的函数x,并假设函数期望x是一个向量,我该如何测试x是一个向量还是一个指向向量的东西?
fun <- function(x) {
brilliant manipulation of x here
output based on manipulation of x here
}
Run Code Online (Sandbox Code Playgroud)
例如,我如何区分案例1:
myvector <- c(1,2,3)
fun(myvector)
Run Code Online (Sandbox Code Playgroud)
案例2:
fun(c(1,2,3))
Run Code Online (Sandbox Code Playgroud)
我希望fun()能够"Output concerning myvector"为案例1 输出.
我希望fun()能够"Output concerning x"为案例2 输出.
我很失落之中substitute,deparse和各种杂相关的想法.照明赞赏.
假设我有一个名为MyVar的变量,其值标签定义如下:
0 Something
1 Something else
2 Yet another thing
Run Code Online (Sandbox Code Playgroud)
如何获得第二个值标签(即“其他”)?编辑:假定我不知道先验因子值是什么(即我不知道最小值标签,并且因子值可能会增加除1以外的数字,并且可能会不均匀地增加)。
我知道我可以获得对应于值 2 的标签:
. local LABEL: label (MyVar) 2, strict
. di "`LABEL'"
Yet another thing
Run Code Online (Sandbox Code Playgroud)
但是我想获得与值标签列表中2 位置相对应的标签:
. <Some amazing Stata-fu using (labeled) variable MyVar and the position 2>
. di "`LABEL'"
Something else
Run Code Online (Sandbox Code Playgroud)