Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何将具有相同协变量的个体的二项反应数据反聚合到伯努利,反之亦然?_R_Function_Dataframe_Data.table_Tidyverse - Fatal编程技术网

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