简介和当前工作
[ 注意:对于那些感兴趣的人,我在最后提供了用于重现示例的代码。]
我有一些数据,并且进行了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的置信区间和图可以看出A-B,B-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) 我正在 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.design是nxp设计矩阵,其中n > p,y是使用核密度估计获得的响应的nx 1向量。x.design和y都包含真实条目。当我运行我的代码时,收到以下错误消息:
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 需要的值”,可能是由于缺少值?
但是我无法找到解决我的问题的方法。
有人可以建议一个解决方案吗?
我有以下代码用于计算某些感兴趣的数量,特别是最右边两列的总和。
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。
假设我有以下示例数据框:
> 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) 我想从 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作为临时解决方案安装的原因。
r ×4
data.table ×1
deprecated ×1
dplyr ×1
ggplot2 ×1
github ×1
glmnet ×1
graphics ×1
janitor ×1
plot ×1
python ×1
python-2.7 ×1
python-2.x ×1
regex ×1
regression ×1
split ×1
string ×1
tidyverse ×1