You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么我的R代码实现费米钢琴调音师问题仅返回1个输出

问题原因
  • R语言中使用{}包裹的代码块,运行后仅会返回最后一行表达式的执行结果。你把所有代码都套在一个外层大括号中,自然只能拿到最后一个计算值的输出。
  • 代码中间的临时计算表达式如果没有赋值、也没有显式调用print(),在批量运行脚本时默认不会打印结果,只有最后一个全局环境下的表达式结果会自动输出。
  • 另外你代码倒数第二行的计算调用的仍是第一组参数(Population/PPH等不带后缀2的变量),如果你的预期是分别输出两组参数的计算结果,这行属于冗余的重复计算。
修正代码

去掉外层大括号,直接编写两组计算逻辑即可输出两个结果:

# 第一组参数计算
Population <- 2695598
PPH <- 2 
HWTP <- 0.04 
TPYPP <- 2 
TPTPD <- 6 
WPY <- 261 
(Population/PPH)*HWTP*TPYPP/(TPTPD*WPY)

# 第二组参数计算
Population2 <- 2679080
PPH2 <- 2.48 
HWTP2 <- 0.04 
TPYPP2 <- 2 
TPTPD2 <- 6 
WPY2 <- 261
(Population2/PPH2)*HWTP2*TPYPP2/(TPTPD2*WPY2)

如果需要保留计算结果后续调用,可以给两个输出赋值并显式打印:

# 第一组参数计算
Population <- 2695598
PPH <- 2 
HWTP <- 0.04 
TPYPP <- 2 
TPTPD <- 6 
WPY <- 261 
result1 <- (Population/PPH)*HWTP*TPYPP/(TPTPD*WPY)
print(result1)

# 第二组参数计算
Population2 <- 2679080
PPH2 <- 2.48 
HWTP2 <- 0.04 
TPYPP2 <- 2 
TPTPD2 <- 6 
WPY2 <- 261
result2 <- (Population2/PPH2)*HWTP2*TPYPP2/(TPTPD2*WPY2)
print(result2)

内容的提问来源于stack exchange,提问作者DarthBob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 17:39:05