stata - 如何替换具有相同前缀的多个变量的观察值?
问题描述
我试图确定计时器变量的哪些观察时间低于 15 秒。首先,我生成了变量speed
,并尝试用 1 替换以 timer 开头的所有低于 15 的变量的观察值。
gen speed = 0
replace speed = 1 if timer* <15
但是,Stata 告诉我,
timer* invalid name
r(198);
可能会发生什么?我不确定如何在此处附加来自 Stata 的数据,对此的任何见解也将不胜感激。
解决方案
Stata 标签 wiki 有大量关于如何发布数据示例的详细信息。
发生的事情只是Stata不支持您的语法。事实上,甚至不清楚这可能意味着什么。
. clear
. set obs 1
number of observations (_N) was 0, now 1
. gen timer1 = 10
. gen timer2 = 20
. list
+-----------------+
| timer1 timer2 |
|-----------------|
1. | 10 20 |
+-----------------+
. gen wanted1 = min(timer1, timer2) < 15
. gen wanted2 = max(timer1, timer2) < 15
. l
+-------------------------------------+
| timer1 timer2 wanted1 wanted2 |
|-------------------------------------|
1. | 10 20 1 0 |
+-------------------------------------+
.
一种猜测是,如果任何变量timer*
小于 15,您需要一个为 1 的指标,在这种情况下,您需要计算观察中这些变量的最小值并将其与 15 进行比较。另一个猜测是您想要一个指标如果所有变量timer*
都小于 15,则为 1,在这种情况下,您首先需要计算观测值中的最大值。对于上面的简单示例,功能min()
和max()
服务都很好。对于 中包含更多变量的数据集timer*
,您会发现更方便地访问egen
函数rowmin()
和rowmax()
。
还有其他方法可以做到这一点,还有其他更疯狂的猜测你想要什么,但我会停在那里。
推荐阅读
- css - 在一个标签的末尾落在一个标签的中间
- entity-framework - 实体框架启用迁移 CommandNotFound 异常
- python - 使用 NLTK 将句子标记为使用 pandas 的单词
- jquery - Laravel Controller:AJAX 发布请求数据放在请求内容中
- php - 使用 Jquery 在 yii2 中附加 html 元素
- python - 重复功能以提取相似信息
- python - 评估数据帧上的任何表达式/条件的函数
- javascript - 我的 React 组件状态是不断返回 null 对象
- javascript - 使用 javascript 选择应用程序时如何更改链接框值
- express - 将使用 multer 存储的 pdf 转换为文本