r - 从 for 循环返回了一个额外的打印结果“[1] 36”:如何删除它?
问题描述
#Create a function to print squares of numbers in sequence
squareseq <- function(a) {
for(i in 1:a) {
b <- i^2
result <- print(b)
}
return(result)
}
# Call the function supplying 6 as an argument
squareseq(6)
调用上述函数的结果如下图所示:
[1] 1
[1] 4
[1] 9
[1] 16
[1] 25
[1] 36
[1] 36
如何保留“return(result)”但删除重复的行:“[1] 36”?所以我在下面得到这个结果:
[1] 1
[1] 4
[1] 9
[1] 16
[1] 25
[1] 36
解决方案
使用invisible
:
squareseq <- function(a) {
for(i in 1:a) {
b <- i^2
result <- print(b)
}
invisible(result)
}
squareseq(6)
#[1] 1
#[1] 4
#[1] 9
#[1] 16
#[1] 25
#[1] 36
推荐阅读
- highcharts - 高图上具有负值的 nGradient 效果
- tcl - TclOO:将“null”值分配给对象
- c# - 如何为 c# autocad 插件 + 自定义菜单创建安装程序
- python - 为什么即使我捕捉到异常,django 也会打印异常的回溯?
- loopback4 - Loopback4“待办事项”教程似乎只是部分工作
- python-2.7 - pyinstaller 和多个 tkinter 窗口的问题
- pdf-generation - DomPDF & 4 栏
- java - JMH - 错误:无法找到资源:/META-INF/BenchmarkList
- c# - 无法使用 Firebase 配置保存和加载
- docker - 码头同步问题:我正在运行 docker-sync start cmd,但出现错误