随机假设检验r的lappy代替for循环

随机假设检验r的lappy代替for循环,r,tidyverse,mcmc,R,Tidyverse,Mcmc,我有一个df,看起来像这样: set.seed(42) ID <- sample(1:30, 100, rep=T) Trait <- sample(0:1, 100, rep=T) Year <- sample(1992:1999, 100, rep=T) df <- cbind(ID, Trait, Year) df <- as.data.frame(df) set.seed(42) ID编辑10月10日。清理了代码,并在下面的每条评论中添加了代码,以返回

我有一个df,看起来像这样:

set.seed(42)
ID <- sample(1:30, 100, rep=T) 
Trait <- sample(0:1, 100, rep=T) 
Year <- sample(1992:1999, 100, rep=T)
df <- cbind(ID, Trait, Year)
df <- as.data.frame(df)
set.seed(42)

ID编辑10月10日。清理了代码,并在下面的每条评论中添加了代码,以返回一个组织良好的
tibble\dataframe

####决定需要多少次洗牌并命名
###以有序的方式进行输出
洗牌%
purrr::map(~tibble::as_tibble(summary(.x)$solutions,rownames=“model_term”))%%>%
dplyr::bind_行(,.id='shuffle')
ddd
#>#A tibble:20 x 7
#>洗牌模型\u术语post.mean`l-95%CI``u-95%CI`eff.samp pMCMC
#>                                      
#>1洗牌1(截取)112。6.39     233.       1030.016
#>2洗牌1 ID-6.31-13.5-0.297112。0.014
#>3洗牌2(截击)24.9-72.5133。7780.526
#>4洗牌2 ID-0.327-6.33 5.33 849。0.858
#>5洗牌3(截击)4.39-77.3 87.4 161。0.876
#>6 shuffle_3 ID 1.04-3.84 5.99 121。0.662
#>7洗牌4(截击)7.71-79.0 107。4180.902
#>8洗牌4 ID 0.899-4.40 6.57 408。0.694
#>9洗牌5(截击)30.4-62.4 144。7320.51
#>10洗牌5 ID-0.644-6.61 4.94 970。0.866
#>11洗牌6(截击)-45.5-148。42.7      208.   0.302
#>12 shuffle_6 ID 4.73-0.211 11.6 89.1 0.058
#>13洗牌7(截击)-16.2-133。85.9      108.   0.696
#>14 shuffle_7 ID 2.47-2.42 10.3 47.8 0.304
#>15随机播放8(截距)0.5680.5490.5816.60 0.001
#>16 shuffle_8 ID-0.0185-0.0197-0.0168 2.96 0.001
#>17洗牌9(截击)-6.95-112。92.2      452.   0.886
#>18 shuffle_9 ID 2.07-3.30 8.95 370。0.476
#>19洗牌10(截击)43.8-57.0 159。7750.396
#>20洗牌10 ID-1.36-7.44 5.08 901。0.62
您的原始数据

set.seed(42)

ID
lappy
是基本的R。如果你真的想要tidyverse,请看
purrr::map
。你说的“shuffle”
Trait
是什么意思?在不替换Trait列中的行时进行shuffle。这看起来非常有用。我假设花括号不会覆盖我观察到的数据?另外,这与is在for循环中所做的基本相同吗(使用trait col随机化行)?我不熟悉Purrr,原始数据帧本身保持不变。是的,您可以在for循环中完成所有这一切。作为进一步的问题,因为我不习惯从摘要输出中提取那么多数据(用于多次迭代),有没有一种简单的方法可以在单个df中使用它?我想在一个将被集成的循环中——像这样,我将发布一个对清理答案的编辑,并为您提供更好的输出——这很有帮助
library(MCMCglmm) 
m <- MCMCglmm(Trait ~ ID, random = ~ Year, data = df, family = "categorical")