楼主: lpchxj
4287 5

[编程问题求助] 如何在stata中定义一个标量,使其等于(1)样本数(2)某个变量最大值 [推广有奖]

  • 3关注
  • 5粉丝

已卖:437份资源

教授

56%

还不是VIP/贵宾

-

威望
0
论坛币
41 个
通用积分
8.9518
学术水平
6 点
热心指数
14 点
信用等级
1 点
经验
4023 点
帖子
310
精华
0
在线时间
2280 小时
注册时间
2006-12-3
最后登录
2025-4-24

楼主
lpchxj 发表于 2018-12-28 15:41:10 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如何在stata中定义一个标量,使其等于(1)样本数(2)某个变量最大值。
例如有两个变量v和obs
v        obs
12    23

23    36
2      12
我想生成两个标量,一个等于样本数,即等于3;另一个标量等于obs的最大值,即36
请您帮忙指导,谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:两个变量 样本数 最大值

沙发
黃河泉 在职认证  发表于 2018-12-28 15:45:20
1. 請試試
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float(v obs)
  4. 12 23
  5. 23 36
  6. 2 12
  7. end

  8. egen n = count(v)
  9. egen max = max(obs)
复制代码
2. 爾後你若要问程序,永远附上相关资料;若附上资料,永远用 dataex 印出资料。
1.        先 ssc install dataex (并见说明),将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。
2.        并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与 https://bbs.pinggu.org/thread-5917273-1-1.html
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

藤椅
lpchxj 发表于 2018-12-28 15:49:34
黃河泉 发表于 2018-12-28 15:45
1. 請試試2. 爾後你若要问程序,永远附上相关资料;若附上资料,永远用 dataex 印出资料。
1.        先 ssc inst ...
谢谢你 但我需要的是 标量

板凳
黃河泉 在职认证  发表于 2018-12-28 15:54:22
lpchxj 发表于 2018-12-28 15:49
谢谢你 但我需要的是 标量
标量是啥?

报纸
lpchxj 发表于 2018-12-28 21:04:18
黃河泉 发表于 2018-12-28 15:54
标量是啥?
就是一个数,而非向量

地板
赵安豆 发表于 2024-6-14 14:35:53
在Stata中定义标量并使其等同于样本数量或某个变量最大值可以通过以下步骤完成:

1. 要获取当前数据集的样本数(观测值的数量),你可以使用`_N`这个系统变量直接引用,但是为了将其保存为一个标量,你需要先计算它。不过,在多数情况下你可能需要明确地对某些条件下的样本数量进行计数,则可以使用`count`命令。但这里我们直接用_N来定义一个标量表示样本数:

```stata
scalar sample_size = _N
```

2. 要获取变量的最大值并将其保存为一个标量,你可以使用`summarize`命令(或简称 `sum`),然后引用`r(max)`。`summarize`命令会生成一些统计数据包括最大值,这些结果可以被Stata的返回列表(return list)所引用。

```stata
summarize obs, meanonly
scalar max_obs = r(max)
```

完整示例代码如下:

```stata
* 假设你的数据已经被加载到 Stata 中

scalar sample_size = _N
summarize obs, meanonly
scalar max_obs = r(max)

display scalar(sample_size) // 显示样本大小标量的值
display scalar(max_obs)     // 显示obs最大值标量的值
```

请注意,在`summarize`命令中添加`, meanonly`选项,这可以提高速度,因为Stata不会打印出所有的统计摘要信息到结果窗口,而只是计算和存储它们。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-13 04:30