【发布时间】:2021-07-15 04:04:26
【问题描述】:
我在更改 ggplot 格式的绘图时遇到问题。我在 plot 中使用的数据是 match.obj。 match.obj 的相关信息
使用此代码绘制对象时:
plot(match.obj,type = "hist")
我收到了以下图片。
正如我使用 fortify 更改数据类型以使其与 ggplot 兼容:
my_data <- fortify(POD_dataset) # data for ggplot use
它给了我一个错误。
Fehler:
data必须是一个数据框,或者其他可以被强制转换的对象fortify(),不是具有 matchit 类的 S3 对象。
如何更改格式以使其与 ggplot 兼容?
因此,我将借助我的代码使我的问题更加清晰。我的问题在最后。
m.out1<-matchit(formula = ps.formula,data = POD_dataset,
distance = POD_dataset$PS,
method = "nearest" , replace = FALSE,
caliper = .1*sd(logitPS),ratio = 1)
POD_dataset$PS <- m.out1$distance
summary(m.out1$distance)
m.out1
summary(m.out1)
library("MatchIt")
matches <- as.data.frame(m.out1$match.matrix)
colnames(matches) <- c("matched_unit")
matches$matched_unit <- as.numeric(
as.character(matches$matched_unit))
matches$treated_unit <-as.numeric(rownames(matches))
matches.only <- matches[!is.na(matches$matched_unit),]
head(matches.only)
POD_dataset[POD_dataset$id %in% as.numeric(matches.only[2,]),]
我使用这个(下面的)代码来创建正常的情节。我得到了如下所示的正常直方图。
plot(m.out1,type = "hist")
但我想在 ggplot 中绘制 m.out1,我的问题是:如何在 ggplot 中获取对象 m.out1。拜托,谁能帮帮我。
【问题讨论】:
-
很遗憾,您提供的信息不是很有用。为了帮助我们帮助您,您能否通过分享您的数据样本来重现您的问题? ?见how to make a minimal reproducible example。只需在控制台中输入
dput(NAME_OF_DATASET)并将以structure(....开头的输出复制并粘贴到您的帖子中。
标签: r