我使用lme4包运行glmer logit模型.我对各种两种和三种互动效果及其解释感兴趣.为简化起见,我只关注固定效应系数.
我设法提出了一个代码来计算并在logit量表上绘制这些效果,但我无法将它们转换为预测的概率量表.最后我想复制effects
包的输出.
这个例子依赖于加州大学洛杉矶分校关于癌症患者的数据.
library(lme4)
library(ggplot2)
library(plyr)
getmode <- function(v) {
uniqv <- unique(v)
uniqv[which.max(tabulate(match(v, uniqv)))]
}
facmin <- function(n) {
min(as.numeric(levels(n)))
}
facmax <- function(x) {
max(as.numeric(levels(x)))
}
hdp <- read.csv("http://www.ats.ucla.edu/stat/data/hdp.csv")
head(hdp)
hdp <- hdp[complete.cases(hdp),]
hdp <- within(hdp, {
Married <- factor(Married, levels = 0:1, labels = c("no", "yes"))
DID <- factor(DID)
HID <- factor(HID)
CancerStage <- revalue(hdp$CancerStage, c("I"="1", "II"="2", "III"="3", "IV"="4"))
})
Run Code Online (Sandbox Code Playgroud)
在此之前,我需要的是所有数据管理,功能和包.
m <- glmer(remission ~ CancerStage*LengthofStay + Experience +
(1 | DID), …
Run Code Online (Sandbox Code Playgroud) 我正在使用 ioslides 的默认主题进行演示,但在幻灯片上安排绘图时遇到困难。
我对相应的幻灯片使用以下代码:
```{r crint1, fig.width = 7, fig.height = 5.5, fig.retina = NULL, fig.align="center"}
options(warn=-1)
load("path_to_data.RData")
ord <- order(cor.table$COR)
barplot(cor.table$COR[ord], names.arg=cor.table$group[ord],horiz=T
, cex.name=.6, border=F, space=.3, col="gray30",
xlab="Correlation Coefficient", las=1)
grid(NULL, NA, col="white", lty="solid", lwd=0.7)
abline(v=mean(cor.table$COR), lwd=2, lty=2, col="red")
text(mean(cor.table$COR), 1, "Average", cex=.8, col="red", pos=4)```
Run Code Online (Sandbox Code Playgroud)
结果如下:
没关系,但我希望情节从标题正下方开始并在幻灯片上扩展更多,因此行的名称是可读的并且不会重叠。
我尝试使用fig.height
和fig.width
,但它们只会扩展绘图的大小而不会更改起始坐标(这会使绘图超出幻灯片)。
有什么方法可以减少标题下方的空白区域并使用该边距来扩展绘图?我假设我必须编辑该特定幻灯片的 CSS,我只是不确定如何。任何帮助表示赞赏。
我想将 R 与 sublime text 3.2 集成,但我一直遇到问题。我已经按照这里的教程进行操作。我已经安装了三个包:SublimeREPL、SecondCode、R-Box。我还更改了我的 R 目录的路径。
在 SublimeREPL 中使用: "default_extend_env": "default_extend_env": {"PATH": "{PATH};C:\\Program Files\\R\\R-3.5.3\\bin\\x64\\R.exe"},
在 R-Box 中使用: "additional_paths": "C:\\Program Files\\R\\R-3.5.3\\bin\\x64\\R.exe"
我还更改了 SendCode 设置,如我链接的教程的第 5 步所述。
然而,这一切都没有奏效,尤其是我认为,因为 R-Box 对 R 扩展没有选择了。我用谷歌搜索了一下,结果发现它已合并到 SublimeText 中。但是当我将语法设置为 R 时,它仍然无法编译。
我在 Windows 上的系统路径中添加了 R,认为这可能解决了问题。所以当我现在在 cmd 中输入 R 时,它会打开 R。
在此之后,在 Sublime 中使用 build 确实打开了 R,我可以将带有 ctrl+B 的代码发送给它,但这似乎不允许运行:(1)仅当前选择的代码(2)在一个运行 R 终端列,而不是在 Sublime 控制台中。
对于问题 (2),我已经安装了 Terminus,它启动了一个终端open default shell in view
,我可以在其中启动 R,但是我无法让 sublime 以交互方式向它发送代码。
我也尝试运行 SublimeREPL R,但如果我给出命令,基本上没有任何反应:没有错误消息,没有终端。
如果有人设法让这个工作并且对我缺少的东西有一些提示,我将不胜感激。
它是 windows 10、x64、R-3.5.2 和 …
我试图弄清楚如何在下面的示例中使用pivot_longer
from 。tidyr
这就是原始表dat_plot
的结构:
year organizational_based action_based ideological_based share_org_based share_ideo_based share_act_based
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 1956 1 0 0 2 95 95
2 2000 0 0 0 92 87 91
Run Code Online (Sandbox Code Playgroud)
也在这里:
dat_plot <- structure(list(year = c(1956, 2000), organizational_based = c(1,
0), action_based = c(0, 0), ideological_based = c(0, 0), share_org_based = c(2,
92), share_ideo_based = c(95, 87), share_act_based = c(95, 91
)), row.names = c(NA, -2L), class = c("tbl_df", "tbl", "data.frame"
)) …
Run Code Online (Sandbox Code Playgroud) 我正在研究一个相当大的散点图,并且使用ggrepel作为避免标签重叠的方法。然而,我需要区分一些数据点,这个想法是也依赖size
和face
这样做。
我发布数据集:
\n\nstructure(list(horizontal = c(-0.352696359157562, 0.780073940753937, \n0.0911642983555794, -0.153335213661194, -0.540096700191498, -0.615496337413788, \n0.310178399085999, 0.797275483608246, -0.157139003276825, -0.33426907658577, \n0.253628611564636, 0.474333256483078, 0.0280635561794043, -0.522810518741608, \n0.712112784385681, 0.156166926026344, 0.378900289535522, -0.10096962749958, \n-0.751460909843445, 0.000464908313006163, -0.368376433849335, \n-0.0745543912053108, -0.496564328670502, 0.703955709934235, -0.10785873234272, \n0.371504008769989, -0.586291670799255, 0.191669017076492, -0.154560878872871, \n0, 0.843597233295441, 0.449101448059082, -0.241541013121605, \n-0.0455610118806362, -0.382365942001343, -0.00278944987803698, \n0.0590433552861214, -0.328732430934906, 0.0665241554379463, -0.384352385997772, \n-0.104266256093979, -0.330000370740891, 0.638868570327759, 0.319561064243317, \n-0.373574942350388, 0.298344343900681, -0.394538104534149, -0.994185328483582, \n0.654802262783051, -0.0239639095962048, -0.14082495868206, 0.726947605609894, \n0.067158117890358, 1.09101295471191, 0.808771371841431, -0.511610448360443, \n0.873182356357574, 0.33600190281868, -0.62741494178772, 0.253036916255951, \n-0.717691659927368, 0.329070538282394, 0.364699423313141, -0.0409119315445423, \n-0.356035232543945, -0.00621286546811461, 0.333550602197647, \n-0.327464520931244, …
Run Code Online (Sandbox Code Playgroud) 我需要创建一张欧洲地图,以显示各国之间变量的分布情况.我需要黑白地图.我依靠ggplot
并遵循这种方法作为例子.我根据这篇博文改变了传奇.所有这一切都适用于此结果:
我的问题是如何改变地图的方式,我错过了填充信息的国家和显示为纯白色的国家有一个纹理覆盖他们(我在想对角线)?
由于我的脚本有点乱,我只是在这里显示ggplot,没有数据准备部分:
require(ggplot2)
plotCoords <- read.csv("http://eborbath.github.io/stackoverflow/PlotCoords.csv")
showCoords <- read.csv("http://eborbath.github.io/stackoverflow/showCoords.csv")
ggplot() +
geom_polygon(
data = plotCoords,
aes(x = long, y = lat, group = group),
fill = "white", colour = "darkgrey", size = 0.6) +
geom_polygon(
data = showCoords,
aes(x = long, y = lat, group = group),
fill = "grey", colour = "black", size = 0.6) +
geom_polygon(
data = showCoords,
aes(x = long, y = lat, group = group, fill = sh_left), …
Run Code Online (Sandbox Code Playgroud) 我经常遇到必须重新编码遵循相同结构的多个列并将它们保存到具有不同名称的列中的问题。如果我可以覆盖它们,这将只是其中的一行dplyr
,但由于我也想保留原始列,我不知道一个好的解决方案。下图。
这将是我想要复制的输出的长代码:
library(dplyr)
library(ggplot2)
data("diamonds")
diamonds <- diamonds %>%
mutate(x_char = case_when(x <= 4.5 ~ "low",
x > 4.5 & x < 7 ~ "so-so",
x >= 7 ~ "large",
TRUE ~ as.character(NA)),
y_char = case_when(y <= 4.5 ~ "low",
y > 4.5 & y < 7 ~ "so-so",
y >= 7 ~ "large",
TRUE ~ as.character(NA)),
z_char = case_when(z <= 4.5 ~ "low",
z > 4.5 & z < 7 ~ "so-so",
z >= 7 ~ "large", …
Run Code Online (Sandbox Code Playgroud)