r - 如何在 R 中使用重复将不同的数学函数应用于相同的初始变量?从中创建一个新向量?
问题描述
我不了解“重复”如何工作的一些机制,并且急需帮助。
给定两个初始变量:
i <- 0
my.sum <- i
如何成功创建将 i 增加 1 的向量,计算 i^2,将其添加到“my.sum”并为每次迭代打印一个报告“i”和“my.sum”的向量?我想在“my.sum”(i 的平方和)超过 250 之前终止这个循环。
这是我最近的尝试:
i <- 0
my.sum <- i
repeat {
sums <- c()
my.sum.1 <- i+1
my.sum.2 <- i^2
my.sum <- c((my.sum + my.sum.1),(my.sum + my.sum.2))
if (my.sum > 249){
break
}
print(my.sum)
}
返回警告:
条件的长度 > 1 并且只使用第一个元素
和错误:
错误:向量内存耗尽(达到限制?)
我过去遇到过第一个错误,很可能是因为我不确定 for 循环和“重复”中的向量究竟是如何工作的。这是我错误的根源还是更深?
我确实喜欢自己解决问题,但我经常发现自己被基本概念难住了。我可以做些什么来使这段代码正常工作,将来我怎样才能做得更好?
非常感谢任何帮助,谢谢!
解决方案
我会以更简单的方式使用while
i <- 0
my.sum <- i
while (my.sum <= 250) {
i <- i + 1
my.sum <- my.sum + i ^ 2
cat("The value of i is:", i, "and the squared sum is", my.sum, "\n")
}
这与您正在寻找的相似吗?
推荐阅读
- javascript - Chrome 扩展:如何从 onMessage 本地范围函数分配全局值
- filenet-p8 - FileNet 更改文档类安全性未更新
- javascript - 制作一个按钮,该按钮可以转到不同选项卡上“div”的页面位置,但选项卡位于同一页面中
- ios - 如何在第三张图片上放置一个按钮?
- java - 流收集操作可以是特定的 POJO 而不是 Map 吗?
- python - 递增数据后,发送给用户的 Discord 消息关闭 1
- css - 在样式组件中覆盖子样式的最佳方法
- cuda - 使用自定义类型获取 Cuda 纹理
- javascript - 使用变量作为 href
- r - R中跨列的累积乘积