plot_model()
我正在尝试使用中的函数创建预测值图sjPlot
。我希望我的预测线具有不同的线型和不同的颜色。
该函数包含一个colors
参数,设置colors
为bw
将更改linetype
,但设置colors
为灰度。这个问题类似,但没有收到有用的答案:Coloredribsand differentlinetypesinsjPlotplot_model()
例子:
不同linetypes
,但不是colors
data(iris)
toy_model <- lm( Sepal.Length ~ Sepal.Width + Species, data=iris)
my_plot <- plot_model(toy_model, type=("pred"),
terms=c("Sepal.Width","Species"),
colors="bw")
Run Code Online (Sandbox Code Playgroud)
不同colors
,但不是linetypes
data(iris)
toy_model <- lm( Sepal.Length ~ Sepal.Width + Species, data=iris)
my_plot <- plot_model(toy_model, type=("pred"),
terms=c("Sepal.Width","Species"))
Run Code Online (Sandbox Code Playgroud)
怎样才能既不同colors
又不同linetypes
呢?换句话说,我想要这样的东西
我有一个关于 ggsave() 函数的问题,我将非常感谢任何帮助和/或建议/解决方案。我正在创建四个图并将它们全部放在一个大图中,因为我想使用数据框中的所有列循环整个函数,所以我想将创建的图保存在指定的文件夹中(最好使用标识名称)。
\n plotting_fun3 <- function(Q){\n \n plot1 <- plot_likert(\n t(Q),\n title = "Total population",\n legend.labels = c("strongly disagree","disagree", "neither nor", "agree", "strongly agree"),\n grid.range = c(1.6, 1.1),\n expand.grid = FALSE,\n axis.labels = c(" "),\n values = "sum.outside",\n show.prc.sign = TRUE,\n catcount = 4,\n cat.neutral = 3,\n \n )\n \n plot2 <- plot_likert(\n t(Q[survey$animal=="Dogs"]),\n title = "Female",\n legend.labels = c("strongly disagree","disagree", "neither nor", "agree", "strongly agree"),\n grid.range = c(1.6, 1.1),\n expand.grid = FALSE,\n axis.labels = c(" "),\n values = …
Run Code Online (Sandbox Code Playgroud) 我最近在使用 R 时遇到了一些问题。我试图安装似乎不起作用的 nnet。我遵循了关于这个问题的建议,并在 'car'、'effects' 和 'sjPlot' 上使用了 remove.packages() 和 unloadNamespace()。
这在安装 nnet 时成功了,但是现在我无法重新安装这三个软件包。重新安装每个软件包后,r 声明:
图书馆(sjPlot)
get(method,envir = home) 错误:延迟加载数据库 '\xxx/SSD_Home_Data_O/xxx/My Documents/R/win-library/3.2/car/R/car.rdb' 已损坏
2:在 .registerS3method(fin[i, 1], fin[i, 2], fin[i, 3], fin[i, 4], : 重新开始中断的承诺评估
3:在 get(method,envir = home) 中:重新启动中断的承诺评估
4:在 get(method,envir = home) 中:R_decompress1 中的内部错误 -3 错误:“sjPlot”的包或命名空间加载失败
任何想法如何解决这一问题?我有点担心,因为我真的需要特别使用 sjPlot
谢谢您的帮助
我的目标是将数据帧、aov 输出等保存为已由 R 包处理的图像,该包将 r 数据格式化为科学期刊就绪格式,例如sjPlot
.
>library(sjPlot)
>library(webshot)
>library(tableHTML)
>tab_df(df, alternate.rows = T, title = "Table 1 - Site-Event", col.header = c("Event", "Site", "Volume\n(mm)", "Total\nRainfall\n(mm)", "Runoff\nRatio\n(%)", "24 hour\nRainfall\n(mm)", "7 day\nRainfall\n(mm)", "Max\nrainfall\nIntensity\n(mm/hr)", "Response\nTime\n(hours)", "Max Flow\nRate\n(mm/hr)","TP Load\n(g/ha)", "SRP Load\n(g/ha)", "PP Load\n(g/ha)"), file = "/home/ryrugg80/working/Table_1.html")
Run Code Online (Sandbox Code Playgroud)
当我运行webshot
尝试转换以下内容的 html 输出时,我最初收到此错误sjPlot
:
> webshot("/home/ryrugg80/working/Table_1.html", "/home/ryrugg80/working/Table_1.png")
Auto configuration failed
135096819605120:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:185:filename(libssl_conf.so): libssl_conf.so: cannot open shared object file: No such file or directory
135096819605120:error:25070067:DSO support routines:DSO_load:could not …
Run Code Online (Sandbox Code Playgroud) 我按照https://strengejacke.github.io/sjPlot/上的说明安装软件包,但尽管下载并安装了所有软件包,但我无法使用它们,因为我不断收到错误消息
could not find function "sjP.lmer"
有谁知道这是从哪里来的?我很乐意提供更多详细信息,但我什至不知道在哪里寻找它们...
我正在拟合几个模型,并使用plot_models 函数使用 sjPlot 包绘制它们。我只想绘制一些系数并对它们重新排序以便更容易解释。然而,我在第二期遇到了麻烦。
我已经尝试过 order.terms 但仅适用于plot_model,auto.label=FALSE 但只是删除所有标签...
fit1<- glm(y ~ x1*var1 + var2 + var3, data=mydata, family = poisson)
fit2<- glm(y ~ x2*var1 + var2 + var3, data=CARMA_all, family = poisson)
fit3<- glm(y ~ x3*var1 + var2 + var3, data=CARMA_all, family = poisson)
plot_models(fit1,fit2,fit3, m.labels = c("x1", "x2", "x3"),show.values =T,digits=3, show.p = FALSE, p.shape = TRUE, rm.terms = c("var1,"var2","var3"),vline.color="grey",grid.breaks=c(0.95,0.96,0.97,0.98,0.99,1,1.01,1.02,1.03,1.04,1.05), colors = "Dark2")
Run Code Online (Sandbox Code Playgroud)
当我绘制此图时,我首先在图中估计 var1:x3,然后是 x3,然后是 var1:x2, x2, var1:x1, x1。我需要重新排序以获得 x1, var1:x1, x2, var1:x2, x3, var1:x3
我一直在使用 sjplot 创建一个组合表。这将创建一个 HTML 表。我想做一个可以导出到word的表格。
我已经查看了这篇讨论复制和粘贴到 word 中的帖子,但这改变了列和行的格式。 在R中将多个回归表输出到Word文档的多页中
n1 <- glm(N ~ Age_2 , data = n_data, family = "binomial")
g1 <- glm(G ~ Age_2 , data = g1_data, family = "binomial")
ga1 <- glm(G_1 ~ Age_2 , data = ga1_data, family = "binomial")
l1 <- glm(L_1 ~ Age_2 , data = l1_data, family = "binomial")
c1 <- glm(C_1 ~ Age_2 , data = c1_data, family = "binomial")
m1 <- glm(m ~ Age_2 , data = m1_data, family = …
Run Code Online (Sandbox Code Playgroud) 我正在尝试为stan_glmer.nb
( rstanarm
) 输出创建一个表,但是model_parameters
从包中parameters
抛出一个奇怪的错误,我不确定如何解决。也许这是一个错误。
sessionInfo()
版本信息的缩短输出:
R version 4.0.2 (2020-06-22)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
parameters_0.8.2
rstanarm_2.21.1
Run Code Online (Sandbox Code Playgroud)
一个可重现的例子:
library(rstanarm)
library(parameters)
x<-rnorm(500)
dat<-data.frame(x=x,z=rep(c("A","B","C","D","E"),100), y=.2+x*.7)
mod1<-stan_glmer(y~x+(x|z),data=dat)
model_parameters(mod1, effects="all")
Run Code Online (Sandbox Code Playgroud)
我将在此处为您节省输出,因为它并不重要,但该功能有效。现在负二项式模型:
dat.nb<-data.frame(x=rnorm(500),z=rep(c("A","B","C","D","E"),100),
y=rnbinom(500,size=1,prob = .5))
mod2<-stan_glmer.nb(y~x+(x|z),data=dat.nb)
model_parameters(mod2, effects="all")
Run Code Online (Sandbox Code Playgroud)
现在出现错误消息:
Error in `$<-.data.frame`(`*tmp*`, "parameter", value = c("(Intercept)", :
replacement has 3 rows, data has 1
Run Code Online (Sandbox Code Playgroud)
尽管在parameters
0.10.1 版本中,@BenBolker 得到一个空白输出,而不是错误(见评论)。不管怎样,这个函数似乎不适用于rstanarm
离散分布(见评论)。据我在帮助文档中看到,没有任何内容表明需要指定负二项式模型。此外,该功能适用于lme4
模型:
library(lme4)
mod1<-lmer(y~x+(x|z),data=dat)
model_parameters(mod1, effects="all")
mod2<-glmer.nb(y~x+(x|z),data=dat.nb)
model_parameters(mod2, effects="all") …
Run Code Online (Sandbox Code Playgroud) 过去,我曾使用sjPlotsjp.glmer
包中的将广义混合效应模型的不同斜率可视化。但是,使用新包,我无法弄清楚如何绘制各个斜率,如图中(随机)组级别的固定效应概率,位于此处
这是我认为应该允许生成图形的代码。我似乎无法在新版本的sjPlot
.
library(lme4)
library(sjPlot)
data(efc)
# create binary response
efc$hi_qol = 0
efc$hi_qol[efc$quol_5 > mean(efc$quol_5,na.rm=T)] = 1
# prepare group variable
efc$grp = as.factor(efc$e15relat)
# data frame for 2nd fitted model
mydf <- na.omit(data.frame(hi_qol = as.factor(efc$hi_qol),
sex = as.factor(efc$c161sex),
c12hour = as.numeric(efc$c12hour),
neg_c_7 = as.numeric(efc$neg_c_7),
grp = efc$grp))
# fit 2nd model
fit2 <- glmer(hi_qol ~ sex + c12hour + neg_c_7 + (1|grp),
data = mydf,
family = binomial("logit"))
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下代码绘制模型。
plot_model(fit2,type="re")
plot_model(fit2,type="prob")
plot_model(fit2,type="eff")
Run Code Online (Sandbox Code Playgroud)
我想我可能缺少一个标志,但是在阅读了文档后,我无法找出那个标志可能是什么。
数据示例:
lme1<- lme(total.fruits ~ rack + nutrient + amd + status,
random = ~1|reg, method = "ML", data=Arabidopsis)
Run Code Online (Sandbox Code Playgroud)
我如何知道保存下面 tab_model() 函数的输出?tab_model() 函数是 sjPlot 包的一部分。除了截图之外,他们必须采取其他方式,或者?
tab_model(lme1)
Run Code Online (Sandbox Code Playgroud)
我已经成功地使用plot_model
函数sjplot
绘制了多项逻辑回归模型。回归包含一个结果(Info Sought,具有 3 个级别)和 2 个连续预测变量(DSA、ASA)。我还更改了 ASA 的值,以便plot_model
根据 ASA 平均值和 SD 绘制预测效果结果:
plot1 <- plot_model(multinomialmodel , type = "pred", terms = c("DSA", "ASA[meansd]")
Run Code Online (Sandbox Code Playgroud)
我有两个定制问题:
1) 分面顺序:分面顺序基于结果级别的默认字母顺序(“展开”然后“第一张图片”然后“多张图片”)。有没有办法可以调整这个?在运行和绘制模型之前,我尝试使用 来重新排序级别factor()
(如此处的示例),但这并没有导致生成的构面顺序发生任何变化。ggplot2
也许可以通过 ggplot2 来代替,如此处提供的第一个解决方案中所示?
2) 图例标签:图例当前使用 ASA 的 -1 SD、平均值和 +1 SD 值来标记绘制的线;有没有办法调整这些标签,而不是简单地说“-1 SD”、“平均值”和“+1 SD”而不是原始值?
谢谢!
我正在使用sjplot https://strengejacke.github.io/sjPlot/并享受可视化和比较如下估计的可能性(参见下面的工作示例)。我想知道是否有可能在r,可能的 n ggplot2 中,仅根据估计值和标准误差绘制结果?假设我在一篇论文中看到一个模型,我估计了我自己的模型,现在我想将我的模型与论文中的模型进行比较,其中我只有估计值和标准误差。我在SO上看到了这个,但也有点基于模型。
任何反馈或建议将不胜感激。
# install.packages(c("sjmisc","sjPlot"), dependencies = TRUE)
# prepare data
library(sjmisc)
data(efc)
efc <- to_factor(efc, c161sex, e42dep, c172code)
m <- lm(neg_c_7 ~ pos_v_4 + c12hour + e42dep + c172code, data = efc)
# simple forest plot
library(sjPlot)
plot_model(m)
Run Code Online (Sandbox Code Playgroud)
我想一个暂时的期望结果看起来有点像这样,
我刚刚遇到coefplot https://cran.r-project.org/web/packages/coefplot/但我在一台没有 R 的机器上,我知道,奇怪,但我会尽快研究coefplot。也许这是一条可能的路线。