r语言 - 在循环内嵌套数据



我目前遇到一个问题,我试图在包含所有250个模拟的tibble内嵌套有效的边界模拟数据。该标题将有1列,名为"sim"它表示模拟的数量,即此列中的行从1:250开始运行。另一列应该包含嵌套的模拟数据,它是每个模拟的3x123块。(真的希望这是有意义的)。

我试图复制这个问题,这样您就不需要所有以前的代码和数据来查看问题。问题是嵌套的数据被保存为一个列表:

library(tidyverse)
counter = 0
table <- tibble(sim = 1:250, obs = NA)
for(i in (1:250)){
counter = counter + 1
tibble <- tibble(a = NA, b = 1:113, c = 2, d = 3)
tibble$a <- counter
nested_tibble <- tibble %>% nest(data = -a) %>% select(-a)
table$obs[i] <- nested_tibble
}

在这个简化的可重复示例中,标题中的值是相同的。而在我正在处理的任务中,标签包含有效边界的值。代码中的变量"a"对应于模拟数值,这是我用来嵌套有效边界的变量。之后,我希望删除这个变量a,并在当前为NA的相应'obs'字段中插入嵌套的可选项。

我真的希望这是有意义的。我对R和编码还是很陌生的。如果您需要其他文件,请告诉我。

您的nested_tibble是包含标题的列表。要访问列表中的内容,可以使用双括号表示法:nested_tibble[[1]]。因此,为了得到你想要的结果,你可以这样改变你的循环:

counter = 0
table <- tibble(sim = 1:250, obs = NA)
for(i in (1:250)){
counter = counter + 1
tibble <- tibble(a = NA, b = 1:113, c = 2, d = 3)
tibble$a <- counter
nested_tibble <- tibble %>% nest(data = -a) %>% select(-a)
table$obs[i] <- nested_tibble[[1]]
}

最新更新