小编Ade*_*ela的帖子

使用 glm 拟合逻辑回归的默认起始值

我想知道glm.

这篇文章建议将默认值设置为零。这个说它背后有一个算法,但是相关链接被破坏了。

我试图用算法跟踪拟合简单的逻辑回归模型:

set.seed(123)

x <- rnorm(100)
p <- 1/(1 + exp(-x))
y <- rbinom(100, size = 1, prob = p)

# to see parameter estimates in each step
trace(glm.fit, quote(print(coefold)), at = list(c(22, 4, 8, 4, 19, 3)))
Run Code Online (Sandbox Code Playgroud)

首先,没有指定初始值:

glm(y ~ x, family = "binomial")

Tracing glm.fit(x = structure(c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  .... step 22,4,8,4,19,3 
NULL
Tracing glm.fit(x = structure(c(1, 1, 1, 1, 1, …
Run Code Online (Sandbox Code Playgroud)

r glm logistic-regression

11
推荐指数
1
解决办法
1332
查看次数

删除ggplot图例中的重复标签

我想使用交互在图例中创建一个包含子组的图.我创建一些零值的假数据来创建子标题.

我的样本数据:

library(ggplot2)
df <- data.frame(value = runif(27, 0, 1),
                 x = rep(1:3, each = 3),
                 group1 = rep(c(letters[1:3])),
                 group2 = rep(c("fake", "X", "Y"), each = 9))
# introducing fake data
df[df$group2 == "fake", "value"] <- 0
df$group2 <- relevel(df$group2, ref = "fake")
Run Code Online (Sandbox Code Playgroud)

我几乎能够创造出理想的情节:

# labels
lbl1 <- c(expression(bold("HEADING 1")), paste("LABEL 1", 1:2),
          expression(bold("HEADING 2")), paste("LABEL 2", 1:2),
          expression(bold("HEADING 3")), paste("LABEL 3", 1:2))
fills <- c("white", "red1", "red3",
           "white", "blue1", "blue3",
           "white", "green1", "green3")
colo <- c("white", "black", "black",
          "white", …
Run Code Online (Sandbox Code Playgroud)

r legend ggplot2

7
推荐指数
1
解决办法
433
查看次数

bsTooltip 中的数学模式闪亮

我想知道这些是否是使用bsTooltip()from shinyBSpackage在工具提示标题中包含数学模式的任何选项。

小例子:

rm(list = ls())
library(shiny)
library(shinyBS)

ui <- basicPage(
  headerPanel("Tooltip test"),
  bsTooltip(id = "Equation", title = "\\(\\bar{X} = \\frac{1}{n}\\sum_{p = 1}^{n}X_p\\)", placement = "bottom", trigger = "hover", options = NULL),
  mainPanel(
    p("some text", htmlOutput("Equation", inline = TRUE))
  )
)

server <- shinyServer(function(input, output,session) {
  output$Equation <- renderUI({HTML("<font color='blue'><u>something which needs equation</u></font>")})
})
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

结果(数学模式)不理想:

r tooltip shiny shinybs

7
推荐指数
2
解决办法
143
查看次数

堪培拉距离 - 结果不一致

我试图了解我对堪培拉距离的计算是怎么回事.我编写自己的简单canberra.distance函数,但结果与dist函数不一致.我na.rm = T为我的函数添加了选项,以便能够在零分母时计算总和.据?dist我了解,他们使用类似的方法:Terms with zero numerator and denominator are omitted from the sum and treated as if the values were missing.

canberra.distance <- function(a, b){
  sum( (abs(a - b)) / (abs(a) + abs(b)), na.rm = T )
}

a <- c(0, 1, 0, 0, 1)
b <- c(1, 0, 1, 0, 1)
canberra.distance(a, b)
> 3 
# the result that I expected
dist(rbind(a, b), method = "canberra")
> 3.75 


a <- …
Run Code Online (Sandbox Code Playgroud)

r distance

6
推荐指数
1
解决办法
454
查看次数

情节 - 不同表面的不同颜色

使用plotly我希望每个表面都有不同的颜色.

library(plotly)
t1 <- seq(-3, 3, 0.1); t2 <- seq(-3, 3, 0.1)

p1 <- matrix(nrow = length(t1), ncol = length(t2))
p2 <- matrix(nrow = length(t1), ncol = length(t2))

p8a1 <- 1.2
p8a2 <- 1
p8d <- -1
p8b1 <- 0.7
p8b2 <- 0.6

for (i in 1:length(t2)) {
   for (j in 1:length(t1)) {
      p1[i, j] <- 1 / (1 + exp(-1.7 * (p8a1 * t1[j] + p8a2 * t2[i] + p8d)))
      p2[i, j] <- (1 / (1 + …
Run Code Online (Sandbox Code Playgroud)

r plotly

6
推荐指数
1
解决办法
1084
查看次数

多个传奇理由

我试图在ggplot中证明多个传奇,但没有任何真正的成功.当在绘图区域(灰色区域)外显示图例时,对齐是正确的.但是,当在绘图区域内显示图例时,图例会居中(我想让它们左侧对齐).我试图遵循这个线程,但它仍然无法正常工作.

我的例子:

library(ggplot2)

ggplot(mtcars, aes(wt, mpg)) +
  geom_point(aes(colour = factor(cyl), size = qsec)) +
  geom_point(aes(colour = factor(cyl), size = qsec)) +
  theme(legend.justification = c(1,0),
        legend.position = c(1,0),
        legend.margin = unit(0,"lines"),
        legend.box = "vertical",
        legend.key.size = unit(1,"lines"),
        legend.text.align = 0,
        legend.title.align = 0)
Run Code Online (Sandbox Code Playgroud)

r legend ggplot2

5
推荐指数
1
解决办法
1332
查看次数

一些右对齐的 tabPanels 闪亮

使用navbarPage我想让一些tabPanels右对齐,而其余的tabPanelsnavbarMenus左对齐:

所以,而不是这个

library(shiny)    
ui =  tagList(
  navbarPage(
    title = "My app",
    navbarMenu("Left1",
               tabPanel("Subleft11"),
               tabPanel("Subleft12")),
    tabPanel("Left2"),
    tabPanel("Left3"),
    tabPanel("Right1"),
    tabPanel("Right2")
  )
)

server <- function(input, output, session) {}

shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我想得到这样的东西:

在此处输入图片说明

GyD 的解决方案适用tabsetPanelnavbarPage. 我试着添加

tags$head(
    tags$style(HTML(
      ".navbar ul li:nth-child(4) { float: right; }
      .navbar ul li:nth-child(5) { float: right; }"
    ))),
Run Code Online (Sandbox Code Playgroud)

但没有预期的效果。

css r shiny

5
推荐指数
1
解决办法
1134
查看次数

ggplot geom_bar其中x =多列

如何制作条形图,其中X来自数据框的多个值?

假数据:

data <- data.frame(col1 = rep(c("A", "B", "C", "B", "C", "A", "A", "B", "B", "A", "C")),
                   col2 = rep(c(2012, 2012, 2012, 2013, 2013, 2014, 2014, 2014, 2015, 2015, 2015)), 
                   col3 = rep(c("Up", "Down", "Up", "Up", "Down", "Left", "Right", "Up", "Right", "Down", "Up")),
                   col4 = rep(c("Y", "N", "N", "N", "Y", "N", "Y", "Y", "Y", "N", "Y")))
Run Code Online (Sandbox Code Playgroud)

我正在试图做的是情节的数量(也,理想情况下,百分比)Y的和N在的col4基础上通过分组col1,col2col3.

总的来说,如果有50行,其中有25行Y,我应该可以创建一个如下所示的图形:

条状图

我知道ggplot的基本条形图是:

ggplot(data, aes(x = col1, fil = col4)) …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

3
推荐指数
1
解决办法
6406
查看次数

ggplot 中的面板透明度

我希望我的输出 ggplot2 图形具有透明边框(面板)但白色(不透明)绘图背景。

我尝试了这两个选项

d <- rnorm(100)
df <- data.frame(y = d, x = 1)
p <- ggplot(df) + stat_boxplot(aes(x = x, y = y)) 
# first option
p <- p + theme(
  panel.background = element_rect(fill = "transparent", colour = NA), 
  panel.grid.minor = element_blank(), 
  panel.grid.major = element_blank()
)
# second option
# p <- p + theme(
#   panel.background = element_rect(fill = "transparent", colour = NA), 
#   panel.grid.minor = element_blank(), 
#   panel.grid.major = element_blank(),
#   plot.background = element_rect(fill = "transparent", …
Run Code Online (Sandbox Code Playgroud)

graphics transparency r ggplot2

2
推荐指数
1
解决办法
6470
查看次数

在ggplot中为轴标签添加额外的文本

我想为我的数据框创建很好的置信区间图df:

> df 
       Estimate       Lower      Upper
A1  0.005414976 -0.01227699 0.02310694
A2  0.004046546 -0.01368911 0.02178220
A3  0.002761602 -0.01491484 0.02043804
A4 -0.002860038 -0.02049349 0.01477342
A5 -0.004197288 -0.02178773 0.01339316
A6  0.011004835 -0.12687561 0.14888529
B1 -0.001077768 -0.01130327 0.00914773
C1  0.137894575 -0.09659997 0.37238912
D1  0.128514414 -0.10866480 0.36569363
D2  0.168863152 -0.06347553 0.40120183
D3  0.139645665 -0.09431216 0.37360349
D4  0.028744139 -0.19562867 0.25311695
Run Code Online (Sandbox Code Playgroud)

从数据集中可以看出,前6行代表一个因子的水平,然后有两个因子只有一个水平,最后一个是4个水平的因子.我希望以这样的方式显示它,以便明确级别属于一个因素.

我目前的情节如下:

ggplot(df, aes(x = rownames(df), y = Estimate, ymin = Lower, ymax = Upper)) +
geom_pointrange() +
geom_hline(yintercept = 0, linetype = 2) …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

2
推荐指数
1
解决办法
589
查看次数