【问题标题】:Generate dummies in Stata vs. in R在 Stata 与 R 中生成假人
【发布时间】:2022-01-22 17:21:05
【问题描述】:

状态

rus 是假人。我想知道以下行是否也在生成虚拟n,如果rus ==1,但只是在rus 之后省略==1? p>

generate byte n = r | u | s

R

当我们在 R 中生成 bytevariable 或者在 R 中生成相同时,它会有所不同吗?

【问题讨论】:

    标签: stata dummy-variable


    【解决方案1】:

    此答案仅针对 Stata 问题。

    在 Stata 中,如果 r u s 都是 0、1 个变量,那么 r | u | s 也是 0、1 并且如果其中任何一个是 1 和 0,则当且仅当所有变量都为 0 时才会为 1。所以,它相当于max(r, u, s).

    但请注意r u s 是否为 0、1 或缺失,如果其中任何一个缺失,r | u | s 也将为 1。但是max(r, u, s) 只有在所有这些都丢失时才会丢失。

    如果存在缺失,则可以使用

      * 1 
      gen n = r | u | s if !missing(r, u, s) 
    

    如果任何参数r u s 为 1,则结果将为 1,如果所有参数为 0,则结​​果将为 0,如果缺少任何参数,则结果将丢失。

      * 2 
      gen n = (r == 1) | (u == 1) | (s == 1) 
    

    如果任何参数为 1,则结果将为 1,否则为 0。 “否则”是从全 0 到全缺失的任何内容。

      * 3 
      gen n = inlist(1, r, u, s) 
    

    #3 等价于 #2。

    在所有情况下,指定 byte 是节省存储空间的好习惯,但在其他情况下则不是很重要。

    【讨论】:

      猜你喜欢
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-22
      • 1970-01-01
      • 2016-11-21
      相关资源
      最近更新 更多