【问题标题】:R error "number of items to replace is not a multiple of replacementR错误“要替换的项目数不是替换的倍数
【发布时间】:2025-12-10 00:00:02
【问题描述】:
pdf_1 <- vector()

for(i in 1:100) {
  x <- runif(100, 0, 5)
  pdf_1[i] <- x
}

我不知道如何让它运行,我一直收到同样的错误!

【问题讨论】:

  • 你想做什么?你想用x的元素填充pdf_1吗?
  • 请澄清!

标签: r rstudio-server


【解决方案1】:

我不确定这是否是您想要的,但这样您可以使用 x 的值填充 pdf_1

pdf_1 <- vector("double", length = 100)

for(i in 1:100) {
  x <- runif(100, 0, 5)
  pdf_1[[i]] <- x[[i]]
}
head(pdf_1)
[1] 4.4140316 2.8390462 2.7328587 0.5423461 0.1792465 2.2133986

您还需要为x 放置一个迭代器i

【讨论】:

  • 感谢您完美地满足了我的需求!
  • 亲爱的@imconfused 请随时投票或接受任何可能符合您目的的答案。谢谢。
  • 始终记得创建一个具有预定义长度的所需类型的空向量(此处为“double”)。例如,在我们运行 for 循环之前,我们知道输出的长度应该是 100。然而,情况可能并非总是如此。但如果是这样,它会更好,并提高循环的速度。并且对于选择和分配单个元素,请始终使用双括号 [[ 而不是 [