首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带负观测的对数函数

带负观测的对数函数
EN

Stack Overflow用户
提问于 2018-12-01 04:26:52
回答 1查看 346关注 0票数 0

我有以下数据,我想应用log()函数:

代码语言:javascript
复制
 v1 
 2 
 3 
 4 
-1 
 5

预期产出:

代码语言:javascript
复制
 v1
 2  0.30 ~ log(2)
 3  0.48 ~ log(3)
 4  0.60 ~ log(4)
-1    .
 5  0.70 ~ log(5)

这只是问题的一个简化版本。我的数据集中有35000观察,我找不到像drop if v1 <= 0这样的简单规则来解决这个问题。

在不首先筛选数据的情况下,我心目中的一种方法是使用for循环并在观察结果上运行log()函数。然而,我找不到任何网站告诉我如何做到这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-01 08:05:51

如果要求取零或负值的对数,Stata将返回缺失。但

代码语言:javascript
复制
generate log_x = log(x) 

代码语言:javascript
复制
generate log_x = log(x) if x > 0 

就会有同样的结果,在观察中漏掉了有问题的价值。

这里更大的问题是统计。你为什么要取这样一个变量的对数呢?如果您的想法是转换一个变量,那么其他的转换是可用的。如果变量是响应变量或结果变量,则即使存在一些零值或负值,具有对数链接的广义线性模型也会工作;其思想只是均值函数应该保持为正。

已经有许多,许多线程提出了这些问题的交叉验证和状态。

我想不出你为什么认为这里需要一个循环或者有帮助。使用上述的generate语句,Stata会自动遍历观察结果。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53567761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档