R 如何将具有相同协变量的个体的二项反应数据反聚合到伯努利,反之亦然?
我想使用所讨论的二项式数据实现二元逻辑回归。此外,我想添加一个变量,用于标识来自同一二项式数据点反聚集的每个二进制数据点,以便在分析中正确解释它们的相关性 下面是我迄今为止尝试的结果。它成功地复制了具有相应协变量的行,但尚未生成二进制变量。任何帮助都将不胜感激 #输入二项数据的结构#R 如何将具有相同协变量的个体的二项反应数据反聚合到伯努利,反之亦然?,r,function,dataframe,data.table,tidyverse,R,Function,Dataframe,Data.table,Tidyverse,我想使用所讨论的二项式数据实现二元逻辑回归。此外,我想添加一个变量,用于标识来自同一二项式数据点反聚集的每个二进制数据点,以便在分析中正确解释它们的相关性 下面是我迄今为止尝试的结果。它成功地复制了具有相应协变量的行,但尚未生成二进制变量。任何帮助都将不胜感激 #输入二项数据的结构# DT对于这种扩展,我发现最容易生成一个列表列,其中每行的列表元素都是该行的二进制向量,您可以使用c和rep为适当的0和1创建它。一旦有了列表列,就可以展开数据框以适应。比如说, 库(tidyverse) df#A
DT对于这种扩展,我发现最容易生成一个列表列,其中每行的列表元素都是该行的二进制向量,您可以使用c
和rep
为适当的0和1创建它。一旦有了列表列,就可以展开数据框以适应。比如说,
库(tidyverse)
df#A tible:3 x 5
#>x1x2二进制文件
#>
#>1 2 3是10.7
#>2 3 4第11.3条
#>3 3 5是9.9
df2%unnest()
df2
#>#tibble:12 x 5
#>x1x2二进制文件
#>
#>1 2 3是10.7 1
#>2 3是10.7 1
#>3 2 3是10.7 0
#>4号11.3 1
#>5 3 4第11.3 1条
#>6 3 4第11.3 1条
#>7 3 4号11.3 0
#>8 3 5是9.9 1
#>9 3 5是9.9 1
#>10 3 5是9.9 1
#>11 3 5是9.9 0
#>12 3 5是9.9 0
使用数据的方法。表和替换:
library(data.table)
setDT(DT)
DT[, .(Success=replace(rep(0L, Trials), seq_len(Successes), 1L),
X1, X2),
by=seq_len(DT[,.N])][, -1L]
输出:
Success X1 X2
1: 1 Yes 10.7
2: 1 Yes 10.7
3: 0 Yes 10.7
4: 1 No 11.3
5: 1 No 11.3
6: 1 No 11.3
7: 0 No 11.3
8: 1 Yes 9.9
9: 1 Yes 9.9
10: 1 Yes 9.9
11: 0 Yes 9.9
12: 0 Yes 9.9
我们不是来写代码的。这就是我们在工作中得到报酬的原因。尝试一些东西,即使它是初步的,然后我们可以帮助你达到你的目标。我们是来帮忙的,谢谢。很抱歉很快发布了这个问题。我还在编辑它。我将很快更新并发布我到目前为止尝试的结果。另外:更改该图像以获得实际的可复制可复制代码
# A tibble: 12 x 4
Success X1 X2
<chr> <chr> <dbl>
1 Yes 10.7
1 Yes 10.7
0 Yes 10.7
1 No 11.3
1 No 11.3
1 No 11.3
0 No 11.3
1 Yes 9.9
1 Yes 9.9
1 Yes 9.9
0 Yes 9.9
0 Yes 9.9
library(data.table)
setDT(DT)
DT[, .(Success=replace(rep(0L, Trials), seq_len(Successes), 1L),
X1, X2),
by=seq_len(DT[,.N])][, -1L]
Success X1 X2
1: 1 Yes 10.7
2: 1 Yes 10.7
3: 0 Yes 10.7
4: 1 No 11.3
5: 1 No 11.3
6: 1 No 11.3
7: 0 No 11.3
8: 1 Yes 9.9
9: 1 Yes 9.9
10: 1 Yes 9.9
11: 0 Yes 9.9
12: 0 Yes 9.9