小编Rob*_*ong的帖子

显示大于或等于的符号

我有一个由此产生的情节:

ggplot(dt.2, aes(x=AgeGroup, y=Prevalence)) + 
    geom_errorbar(aes(ymin=lower, ymax=upper), colour="black", width=.2) +
    geom_point(size=2, colour="Red")
Run Code Online (Sandbox Code Playgroud)

我像这样控制x轴标签:

scale_x_discrete(labels=c("0-29","30-49","50-64","65-79",">80","All")) +
Run Code Online (Sandbox Code Playgroud)

这有效,但我需要将"> 80"标签更改为"≥80".

但是"≥80"显示为"= 80".

如何显示大于或等号?

r ggplot2 plotmath

38
推荐指数
3
解决办法
4万
查看次数

警告:二项式glm中的非整数#successes!(调查包)

我正在使用该twang包来创建倾向得分,这些得分在二项式glm中用作权重survey::svyglm.代码看起来像这样:

pscore <- ps(ppci ~ var1+var2+.........., data=dt....)

dt$w <- get.weights(pscore, stop.method="es.mean")

design.ps <- svydesign(ids=~1, weights=~w, data=dt,)

glm1 <- svyglm(m30 ~ ppci, design=design.ps,family=binomial)
Run Code Online (Sandbox Code Playgroud)

这会产生以下警告:

Warning message:
   In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!
Run Code Online (Sandbox Code Playgroud)

有谁知道我做错了什么?

我不确定这个消息在stats.SE上是否会更好,但总的来说我想我会先在这里尝试一下.

r glm

34
推荐指数
3
解决办法
4万
查看次数

如何处理列名中的空格?

我知道如果变量名称中没有空格,则首选.我的情况是需要出版品质的图表,所以轴和图例需要有正确格式的标签,即带空格.因此,例如,在开发过程中,我可能会有名为"Pct.On.OAC"和Age.Group的变量,但在我的最终情节中,我需要出现"%on OAC"和"Age Group":

'data.frame':   22 obs. of  3 variables:
 $ % on OAC           : Factor w/ 11 levels "0","0.1-9.9",..: 1 2 3 4 5 6 7 8 9 10 ...
 $ Age Group          : Factor w/ 2 levels "Aged 80 and over",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ Number of Practices: int  47 5 33 98 287 543 516 222 67 14 ...
Run Code Online (Sandbox Code Playgroud)

但是当我试图绘制这些时:

ggplot(dt.m, aes(x=`% on OAC`,y=`Number of Practices`, fill=`Age Group`)) +
    geom_bar() …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

27
推荐指数
2
解决办法
5万
查看次数

查找连续零的分布

我有一个向量,说x只包含整数0,12.例如;

x <- c(0,1,0,2,0,0,1,0,0,1,0,0,0,1,0)
Run Code Online (Sandbox Code Playgroud)

由此我想提取每个"模式"中出现零次的次数.在这个简单的例子中,它自己出现三次,两次00和一次出现000,所以我想输出如下内容:

0      3
00     2
000    1
Run Code Online (Sandbox Code Playgroud)

我的实际数据集非常大(向量中1000-2000个元素),至少理论上连续零的最大数量是 length(x)

r

15
推荐指数
3
解决办法
878
查看次数

增加geom_smooth的线条粗细

我有这个ggplot:

ggplot(dt.m, aes(x=pct.on.OAC.cont,y=Number.of.Practices, fill=Age.Group)) +
    geom_bar(stat="identity",position=position_dodge()) +   
    geom_smooth(aes(x=pct.on.OAC.cont,y=Number.of.Practices, colour=Age.Group), se=F)
Run Code Online (Sandbox Code Playgroud)

如何增加geom_smooth绘制的线条的粗细?

r ggplot2

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

当图形窗口不是方形时,为什么椭圆会改变方向?

下面的代码片段创建了双变量法线数据,绘制它然后绘制椭圆以及线y = x

require(ellipse); require(MASS)

mu    <- c(30,30)
Sigma <- matrix(c(900,630,630,900),2,2,byrow=TRUE)
dt    <- data.frame(mvrnorm(n=1000,mu,Sigma))
names(dt) <- c("x","y")


plot(dt$x,dt$y)

df_ell <- data.frame(ellipse(cor(dt$x, dt$y), scale=c(sd(dt$x),sd(dt$y)), centre=c(mean(dt$x),mean(dt$y))))
lines(df_ell)
abline(a=0,b=1)
Run Code Online (Sandbox Code Playgroud)

由于协方差结构和相等的平均值,线y = x应该穿过椭圆的长轴.

在方形图形窗口中,一切似乎都很好: 在此输入图像描述

但是,如果调整窗口大小以使其不再是正方形,则椭圆似乎将其自身定位为远离线条:

在此输入图像描述

造成这种情况的原因是什么?是预期的行为吗?

r

9
推荐指数
1
解决办法
134
查看次数

来自predict.gbm()的不一致预测

更新:

我试过在https://rdrr.io/snippets/上运行代码,它运行正常.因此,我怀疑我的R安装有问题,但是非常担心这种情况可能会发生而不会出现错误或警告.调查此问题的最佳步骤是什么?我在Ubuntu 18.04和gbm 2.1.4上运行R 3.4.4


我正在将增强模型拟合到数据集中,并注意到一些奇怪的预测.这是一个最小的工作示例.请注意,这只是我正在使用的数据集的一小部分示例

mydata <- structure(list(Count = c(1L, 3L, 1L, 4L, 1L, 0L, 1L, 2L, 0L, 0L, 1L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 0L, 2L, 3L, 1L, 4L, 3L, 0L, 4L, 1L, 2L, 1L, 1L, 0L, 2L, 1L, 4L, 1L, 5L, 3L, 0L, 0L, 1L, 1L, 0L, 1L, 0L, 0L, 2L, 0L, 0L, 1L, 1L, 1L, 0L, 3L, 1L, 1L, 0L, 3L, 1L, 1L, 1L, 1L, 2L, 3L, 2L, 2L, 0L, 0L, 3L, …
Run Code Online (Sandbox Code Playgroud)

r machine-learning predict gbm

9
推荐指数
1
解决办法
215
查看次数

逐个元素组合两个向量

我有2个向量,例如:

A <- c(1,2,NA,NA,NA,NA,7)
B <- c(NA,NA,3,4,NA,NA,7)
Run Code Online (Sandbox Code Playgroud)

我想将它们组合起来,以便生成矢量

1,2,3,4,NA,NA,-1
Run Code Online (Sandbox Code Playgroud)

那是

  1. 当位置i的任一矢量中只有1个值(比如说X)存在(另一个是NA)时,新的矢量应该在位置i取值X.

  2. 当两个值在位置i处为NA时,新矢量应在位置i处取值NA

  3. 当两个向量在位置i处具有值时,新向量应在位置i处取值-1.

我可以通过循环轻松完成此操作,但是在大型数据集上它非常慢,所以任何人都可以提供快速的方法来执行此操作吗?

r

8
推荐指数
2
解决办法
2343
查看次数

防止第二个传奇

我有一个ggplot,它还显示了一个图例:

ggplot(dt.m, aes(x=pct.on.OAC.cont,y=Number.of.Practices, fill=Age.Group)) +
    geom_bar(stat="identity",position=position_dodge())
Run Code Online (Sandbox Code Playgroud)

当我添加另一行时,我还得到了第二个传奇:

geom_smooth(aes(x=pct.on.OAC.cont,y=Number.of.Practices, colour=Age.Group), se=F, alpha=0.5)
Run Code Online (Sandbox Code Playgroud)

如何防止第二个图例显示?

r ggplot2

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

pairwise.wilcox.test - 重新格式化输出

这是测试的正常输出:

attach(airquality)
pw <- pairwise.wilcox.test(Ozone, Month, p.adj = "bonf")
pw

data:  Ozone and Month 

     May    Jun    Jul    Aug   
Jun 1.0000 -      -      -     
Jul 0.0003 0.1414 -      -     
Aug 0.0012 0.2591 1.0000 -     
Sep 1.0000 1.0000 0.0074 0.0325
Run Code Online (Sandbox Code Playgroud)

我最近不得不用10个级别的因子进行测试.虽然pairwise.wilcox.test的下三角形格式是有用和简洁的,但我认为以类似的方式将它安排到Tukey HSD输出中是很方便的,其中列出每个成对组合以及它的相关p值.这是我尝试这样做的:

pw.df <- as.data.frame(pw$p.value)
pw.diff <- vector("character")
pw.pval <- vector("numeric")
for (i in 1:ncol(pw.df) )
  for (j in i:length(pw.df) ) {
    pw.diff <- c(pw.diff,paste(colnames(pw.df[i]),"-",rownames(pw.df)[j]))
    pw.pval <- c(pw.pval,pw.df[j,i])
  }


# order them by ascending p value
v <- order(pw.pval,decreasing = F)
pw.df …
Run Code Online (Sandbox Code Playgroud)

r

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

标签 统计

r ×10

ggplot2 ×4

gbm ×1

glm ×1

machine-learning ×1

plotmath ×1

predict ×1