小编Wil*_* M.的帖子

找出两组之间的比率

本质上我有

Var1 Group Value
a    0     1 
b    0     2
c    0     3
a    1     2
b    1     10
c    1     9
Run Code Online (Sandbox Code Playgroud)

我想计算一个包含行Var1和单列的表Div,其中对于 的任何值Var1, 的值Div将是Value组 1 的值除以组 2 的值。因此,结果应该是

Var1 Div
a    .5
b    .2
c    .3333
Run Code Online (Sandbox Code Playgroud)

我通过创建两个表来实现这一点(使用 过滤表Group,然后划分Value两个表的列,然后创建一个新表)。tidyverse 中是否有使用管道实现此目的的方法或函数?

grouping r dataframe dplyr

4
推荐指数
1
解决办法
123
查看次数

pandas 中的累积总和以零开始,以除最后一个条目之外的所有组的总和结束

在下面的数据框中,我想创建一个新列C,该列将是该列中每个组的累积总和,但这些总和必须从零开始,并且仅添加值,直到该组的倒数第二个条目。BA

  A B
0 1 5
1 1 6
2 2 3
3 2 4
4 2 5
5 3 2
5 3 7
6 4 3
Run Code Online (Sandbox Code Playgroud)

所以,我的结果应该是:

  A B C
0 1 5 0
1 1 6 5
2 2 3 0
3 2 4 3
4 2 5 7
5 3 2 0
5 3 7 2
6 4 3 0
Run Code Online (Sandbox Code Playgroud)

(我认为这个问题非常明显,但不知怎的,我自己无法弄清楚,也无法在任何地方看到它。)

python pandas cumsum pandas-groupby

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

如何在 R 中向 GLM 模型添加偏移量?

我正在解决 Agresti 的分类数据分析练习 4.10。

他提供了桌子

     Aortic | Mitral

<55       4       1
       1259    2082

55+       7       9
       1417    1647
Run Code Online (Sandbox Code Playgroud)

行代表年龄组,列代表心脏瓣膜类型,每个单元格中的两个数字是死亡人数(顶部)和总时间长度(底部)。然后他建议模型 $$ \log(\mu_{ij}) = \alpha + 1 \times \log(t_{ij}) + \beta_1 a_i + \beta_2 \nu_j $$ 其中 $t_{ij}$是单元格$(i,j)的总时间长度,$$a_i$是“55+”的指示变量,$\nu_j$是“二尖瓣”的指示变量。

然后练习 4.10 要求找到 $\beta_1.$ 的 95% 轮廓似然置信区间。我明白这在数学上意味着什么,但我在R. 我正在使用R“ProfileLikelihood”库。

这是我的尝试:

heart_table <- data.frame(
  y = c(9,7,1,4),
  tot_time = c(1647,1417,2082,1259),
  age = c(1,1,0,0), #1 means 55+
  valve = c(1,0,1,0) #1 means mitral
)
heart_prof <- profilelike.glm(
  y ~ valve,
  data = heart_table, …
Run Code Online (Sandbox Code Playgroud)

r offset glm

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

标签 统计

r ×2

cumsum ×1

dataframe ×1

dplyr ×1

glm ×1

grouping ×1

offset ×1

pandas ×1

pandas-groupby ×1

python ×1