代码之家  ›  专栏  ›  技术社区  ›  Christopher

将Stata变量编码转换为R代码

  •  0
  • Christopher  · 技术社区  · 7 年前

    我在一个stata中有以下变量编码 do 我试图转换为R的文件:

    斯塔塔

    gen A=q1 if q1<4
    gen B=q2 if q2<4
    gen C=q3 if q3<4
    ...
    

    R

    # Example data
    data = read.csv("https://pastebin.com/raw/BHUJpwqQ")
    
    data$A <- subset(data,q1<4)
    ...
    

    返回:

    数据$A<-数据$Q1[数据$Q1<4] 中的错误 $<-.data.frame ( *tmp* “A”,值=列表(X=C(1L,2L,3L,: 替换有106行,数据有144行

    问题:

    如何正确地将stata命令转换为r?

    2 回复  |  直到 7 年前
        1
  •  3
  •   s_baldur    7 年前

    data$A <- ifelse(data$q1 < 4, data$q1, NA)
    

    > data <- data.frame(q1 = sample(2:6))
    > data
      q1
    1  5
    2  2
    3  3
    4  6
    5  4
    > data$A <- ifelse(data$q1 < 4, data$q1, NA)
    > data
      q1  A
    1  5 NA
    2  2  2
    3  3  3
    4  6 NA
    5  4 NA
    
        2
  •  1
  •   Pearly Spencer Paul Cruz    7 年前

    data <- data.frame(q1 = sample(2:6))
    within(data, A <- ifelse(q1 < 4, q1, ifelse(q1 >= 4, NA, NA)))
    
      q1  A
    1  4 NA
    2  3  3
    3  2  2
    4  5 NA
    5  6 NA
    
    推荐文章