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

R语言技术需求:编写计算x平方根的函数,负数输入返回NA

实现需求的R安全平方根函数

嘿,这事儿不难,我给你写一个完全符合要求的R函数,还额外加了输入类型检查,避免非数值输入导致的奇怪问题:

safe_sqrt <- function(x) {
  # 检查输入是否为数值型,非数值直接抛出错误提示
  if (!is.numeric(x)) {
    stop("参数x必须是数值型,请检查输入!")
  }
  
  # 若输入为负数,返回NA
  if (x < 0) {
    return(NA)
  }
  
  # 合法非负数时计算平方根
  sqrt(x)
}

函数细节说明:

  • 函数命名为safe_sqrt,和R内置的sqrt区分开,名字也能直观体现它的“安全”特性
  • 第一步做输入类型校验:如果用户不小心传入字符串、逻辑值这类非数值参数,会直接抛出清晰的错误提示,不会让程序默默出问题
  • 负数判断逻辑很直接:只要x < 0就返回NA,完全符合你的需求
  • 合法输入时,直接调用R内置的sqrt()函数,保证计算效率和准确性

测试示例:

你可以运行下面的代码验证效果:

# 正数测试:返回2
safe_sqrt(4)

# 0的测试:返回0
safe_sqrt(0)

# 负数测试:返回NA
safe_sqrt(-16)

# 非数值测试:会抛出错误提示
safe_sqrt("hello")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 00:22:31