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



我在 Statado文件中有以下变量编码,我试图将其转换为 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)
...

返回:

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

问题:

如何正确地将 Stata 命令传输到 R?

示例:

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

最新更新