【发布时间】:2023-03-22 19:27:01
【问题描述】:
在 R 中添加差异变量的正确语法是什么?类似于 Stata 中的“D.variable”命令。 我尝试在 R 中生成差异变量。我尝试了几种方法,但我无法获得与 Stata 相同的输出。 R代码:
DF <- DF%>%
group_by(id) %>%
mutate(D_MDR = F_MDR - dplyr::lag(F_MDR))
summary(DF$D_MDR)
输出:
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
-0.7724 -0.1456 -0.0098 -0.0113 0.1232 0.8416 1441
R 代码:
DFP1 <- pdata.frame(DF, index = c("id"))
DFP1$D_MDR <- diff(DFP1$F_MDR,lag = 1, differences = 1)
skim(DFP1$D_MDR)
输出:
-- Data Summary ------------------------
Values
Name DFP1$D_MDR
Number of rows 10433
Number of columns 1
_______________________
Column type frequency:
numeric 1
________________________
Group variables None
-- Variable type: numeric ----------------------------------------------------------------------------------
# A tibble: 1 x 11
skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
* <chr> <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <chr>
1 data 1441 0.862 -0.0113 0.207 -0.772 -0.146 -0.00978 0.123 0.842 ▁▃▇▂▁
这是Stata代码:
tsset id year
gen D_MDR = D.F_MDR
sum D_MDR
状态输出:
Variable | Obs Mean Std. Dev. Min Max
-------------+---------------------------------------------------------
D_MDR | 11,644 .0067983 .1438224 -.8537842 .8227942
【问题讨论】:
-
如果您创建一个小的可重现示例以及预期的输出,这将更容易提供帮助。阅读how to give a reproducible example。
标签: r diff stata panel-data