r - Stata边距/边距图转换为R?

标签 r statistics stata

我正在尝试将 Stata 边距图复制到 R ,但即使在浏览 StackExchange 并试图弄清楚几个星期之后,也无法这样做。

您是否知道如何重新创建使用 R 中的边距图创建的图? ?

首先,我使用以下 R 生成了一个可重现的数据集代码:

set.seed(96)
sampleData <- data.frame(
    ID = 1:200,
    outcome = sample(1:7, 200, replace = T),
    scale = sample(1:7, 200, replace = T),
    dummy1 = sample(0:1, 200, replace = T),
    dummy2 = sample(0:1, 200, replace = T))
write.dta(dataframe, "sampledata.dta")

然后,我将数据读入 Stata并运行以下命令以获取附加图:
   reg outcome dummy1##c.scale dummy2##c.scale

   margins dummy1 dummy2, at(scale=(1(1)7))

   marginsplot, recast(line) name(outcome, replace)

本质上,当这段代码在 Stata 中运行时,我得到了我试图在 R 中复制的图形:

enter image description here

你有什么指示可以帮助我复制这张图吗?

最佳答案

# your data
set.seed(96)
sampleData <- data.frame(
    ID = 1:200,
    outcome = sample(1:7, 200, replace = T),
    scale = sample(1:7, 200, replace = T),
    dummy1 = sample(0:1, 200, replace = T),
    dummy2 = sample(0:1, 200, replace = T))

# all possible combinations
newData <- data.frame(scale=rep(1:7, each=4),
    dummy1=rep(c(0, 0, 1, 1), 7),
    dummy2=rep(0:1, 2*7))
newData$dummy <- paste(newData$dummy1, newData$dummy2)

a <- lm(outcome ~ dummy1*scale + dummy2*scale, data=sampleData)

b <- predict(a, newdata=newData, interval="confidence")

c <- cbind(newData, b)

require(ggplot2)

# one pane
d <- ggplot(c, aes(scale, fit, color=dummy)) 
d <- d + geom_line() 
# d <- d + facet_grid(dummy1 ~ dummy2)
d <- d + geom_ribbon(aes(ymin=lwr, ymax=upr), alpha=0.25)
d

# using facets
e <- ggplot(c, aes(scale, fit)) 
e <- e + geom_line() 
e <- e + facet_grid(dummy1 ~ dummy2)
e <- e + geom_ribbon(aes(ymin=lwr, ymax=upr), alpha=0.25)
e

我应该包括情节。

color

facet

关于r - Stata边距/边距图转换为R?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38518332/

相关文章:

r - 使用 Brew、Pander 和 R 自动化 LaTeX 报告

r - 当 `unlist()` 或 `flatten()` 为列表时缺少因子

SQL 每月销售额前 10 名

python - 使用 scikit 进行逆高斯回归

stata - 多次保存数据

r - 嵌入在字符串名称中的 R 变量中的 for 循环

string - R:根据元素长度从向量中删除元素

image-processing - 方差分析可以用来比较两个图像吗?

stata - 清除宏

python - Python 中的函数类似于 Stata 中 egenmore 的 xtile()