小编NM_*_*NM_的帖子

R中的下划线图

简介和当前工作

[ 注意:对于那些感兴趣的人,我在最后提供了用于重现示例的代码。]

我有一些数据,并且进行了ANOVA分析,并获得了Tukey的成对比较:

model1 = aov(trt ~ grp, data = df)
anova(model1)

> TukeyHSD(model1)
          diff         lwr       upr     p adj
B-A 0.03481504 -0.40533118 0.4749613 0.9968007
C-A 0.36140489 -0.07874134 0.8015511 0.1448379
D-A 1.53825179  1.09810556 1.9783980 0.0000000
C-B 0.32658985 -0.11355638 0.7667361 0.2166301
D-B 1.50343674  1.06329052 1.9435830 0.0000000
D-C 1.17684690  0.73670067 1.6169931 0.0000000
Run Code Online (Sandbox Code Playgroud)

我还可以绘制Tukey的成对比较

> plot(TukeyHSD(model1))
Run Code Online (Sandbox Code Playgroud)

Tukey对模拟数据的成对比较

从Tukey的置信区间和图可以看出A-BB-C并且A-C没有显着差异。

问题

我被要求创建一个称为“下划线”的东西,其描述如下:

我们在实线上绘制组均值,并在组均值之间绘制线段以指示这两个特定组之间没有显着差异。

获得手段并不困难:

> aggregate(df$trt ~ df$grp, FUN = mean)
  df$grp   df$trt
1      A 2.032086
2      B 2.066901 …
Run Code Online (Sandbox Code Playgroud)

graphics plot r ggplot2

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

glmnet error (nulldev == 0) stop("y 是常数;高斯 glmnet 在标准化步骤中失败")

我正在 R 中使用 glmnet 运行以下(截断的)代码

# do a lot of things to create the design matrix called x.design

> glmnet(x.design, y, thresh=1e-11)
Run Code Online (Sandbox Code Playgroud)

其中x.designnxp设计矩阵,其中n > py是使用核密度估计获得的响应的nx 1向量。x.designy都包含真实条目。当我运行我的代码时,收到以下错误消息:

Error in if (nulldev == 0) stop("y is constant; gaussian glmnet fails at 
standardization step") : missing value where TRUE/FALSE needed 
Run Code Online (Sandbox Code Playgroud)

我曾访问过并阅读过

在 R 中运行 glmnet 包,出现错误“缺少 TRUE/FALSE 需要的值”,可能是由于缺少值?

但是我无法找到解决我的问题的方法。

有人可以建议一个解决方案吗?

regression r lasso-regression linear-regression glmnet

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

计算并附加数据框中选定列的列总计

我有以下代码用于计算某些感兴趣的数量,特别是最右边两列的总和。

library(dplyr)
library(janitor)

m = c(0, 0.8, 2.3, 4.1, 2.1)
l = c(0.3, 0.8, 0.9, 0.75, 0.25)

mytable = data.frame(l, m)
rownames(mytable) = paste("Group", 1:5)

# Initial population
n0 = c(1,1,1,1,1)

mytable = mytable %>%
  mutate(lm = l * m) %>%
  mutate(n = n0) %>%
  mutate(offspring = lm * n) %>%
  adorn_totals("row") 
Run Code Online (Sandbox Code Playgroud)

这给出了以下输出:

> mytable
     l   m    lm n offspring
   0.3 0.0 0.000 1     0.000
   0.8 0.8 0.640 1     0.640
   0.9 2.3 2.070 1     2.070
  0.75 4.1 3.075 1     3.075 …
Run Code Online (Sandbox Code Playgroud)

r dplyr tidyverse janitor

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

使用 R 在整数第一次出现时分割字符串

注意我已经阅读过在字符串中第一次出现整数时分割字符串,但是我的请求不同,因为我想使用 R。

假设我有以下示例数据框:

> df = data.frame(name_and_address =
      c("Mr. Smith12 Some street",
        "Mr. Jones345 Another street",
        "Mr. Anderson6 A different street"))
> df
                  name_and_address
1          Mr. Smith12 Some street
2      Mr. Jones345 Another street
3 Mr. Anderson6 A different street
Run Code Online (Sandbox Code Playgroud)

我想在第一次出现整数时分割字符串。请注意,整数的长度不同。

所需的输出可以如下所示:

[[1]]
[1] "Mr. Smith"
[2] "12 Some street",

[[2]]
[1] "Mr. Jones"
[2] "345 Another street",

[[3]]
[1] "Mr. Anderson"
[2] "6 A different street"
Run Code Online (Sandbox Code Playgroud)

我已尝试以下操作,但无法获得正确的正则表达式:

# Attempt 1 (Does not work)
library(data.table)
tstrsplit(df,'(?=\\d+)', perl=TRUE, …
Run Code Online (Sandbox Code Playgroud)

regex string split r data.table

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

在 Homebrew 上结束对 python 2 的支持后,在 Mac 上安装 python@2

我想从 github 项目安装一些包,其中一个依赖项是python@2.

在 2020 年 1 月 1 日之前,可以python@2使用 Homebrew进行安装:

$ brew install python@2
Run Code Online (Sandbox Code Playgroud)

但是,Python 2 支持已从 Homebrew 终止。python@2既然 Python 2 支持已经结束,那么无论如何要在 Mac上安装?

在这个项目中的代码被移植到 Python 3 之前,不幸的是我一直坚持让它与 Python 2(以及使用 Python 2 的依赖项)一起工作,这就是我想python@2作为临时解决方案安装的原因。

python github python-2.x deprecated python-2.7

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