发布
社区首页 >问答首页 >如何将地块转换为ggplot格式?

如何将地块转换为ggplot格式?
EN

Stack Overflow用户
提问于 2021-07-13 12:41:21
回答 1查看 96关注 0票数 0

我有一个问题,改变图形格式的图形。我在绘图中使用的数据是match.obj。关于match.obj的信息

使用此代码绘制对象时:

代码语言:javascript
代码运行次数:0
复制
plot(match.obj,type = "hist") 

我收到了以下照片。

正如我所做的那样,使用fortify来更改数据类型,以使其与ggplot兼容:

代码语言:javascript
代码运行次数:0
复制
my_data <- fortify(POD_dataset) # data for ggplot use

这给了我一个错误。

Fehler:data必须是由fortify()强制强制的数据帧或其他对象,而不是带有matchit类的S3对象。

如何更改格式,使iit与ggplot兼容?

因此,我将在我的代码帮助下,使我的问题更加明确。我的问题已经结束了。

代码语言:javascript
代码运行次数:0
复制
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,]),]

我使用以下代码来创建正常的绘图。我得到了正常直方图,如下所示。

代码语言:javascript
代码运行次数:0
复制
plot(m.out1,type = "hist")

但是我想要m.out1图,我的问题是:我如何才能得到m.out1中的对象。拜托有人能帮帮我吗。

EN

回答 1

Stack Overflow用户

发布于 2021-07-13 13:09:53

您的问题是试图绘制一个matchit对象。这个对象基本上是一个不同项目的列表。所以你需要选择你想要策划的项目。

我使用了文档中的一个示例来说明如何将结果输入数据框架。

代码语言:javascript
代码运行次数:0
复制
library(MatchIt)
data("lalonde")

# Default: 1:1 NN PS matching w/o replacement
m.out1 <- matchit(treat ~ age + educ + race + nodegree +
                    married + re74 + re75, data = lalonde)
m.out1
summary(m.out1)

# Select the table you want to use for plotting and save it as a separate object.

df <- m.out1$X

希望这能帮上忙。如果您能够提供我们可以用来解决您的问题的示例代码,肯定会更容易。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68362617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档