gpt4 book ai didi

按组多次重新排列列并将结果放入新列中

转载 作者:行者123 更新时间:2023-12-03 07:50:16 26 4
gpt4 key购买 nike

我有以下假设数据:

district <- c(1,1,1,1,2,2,2,2,2,3,3,3,3,3,3,3)                                       
village <- c(1,2,3,4,1,2,3,4,5,1,2,3,4,5,6,7)
status <- c(1,0,1,0,1,1,1,0,0,1,1,1,1,0,0,0)
datei <- data.table(district, village, status)

我想根据地区重新调整状态并将结果放入新列中。我知道如何使用以下代码完成一次:

datei[, randomstat := sample(status), district]

现在,我想重新排列状态 1000 次并将结果放入新列中。我尝试了以下代码:

n <- 1000
datei[, paste0("randomstat", 1:n) := replicate(n, list(sample(status), district))]

但失败了。有人可以帮我弄这个吗?谢谢。

最佳答案

您的代码中有一个拼写错误:district 被放入 list 内,即 list(sample(status), District)) ,这是不正确的。


您有以下选择:

  • 使用replicate时启用simplify = FALSE,例如,
datei[, paste0("randomstat", 1:n) := replicate(n, sample(status), simplify = FALSE), district]
  • 或者,用 list() 包装 sample(status)
datei[, paste0("randomstat", 1:n) := replicate(n, list(sample(status))), district]

关于按组多次重新排列列并将结果放入新列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77357852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com