R语言请编写一个可以根据居民用电量计算电费的函数,要求针对负数和非数值型数据有相应的错误提示。
时间: 2024-02-28 09:54:32 浏览: 27
好的,以下是一个计算电费的R语言函数:
```R
calculate_electricity_bill <- function(units) {
# 判断输入是否为数值型数据
if (!is.numeric(units)) {
stop("输入必须为数值型数据!")
}
# 判断输入是否为正数
if (units < 0) {
stop("输入必须为正数!")
}
# 计算电费
if (units <= 50) {
bill <- units * 0.5
} else if (units <= 150) {
bill <- 25 + (units - 50) * 0.75
} else if (units <= 250) {
bill <- 100 + (units - 150) * 1.20
} else {
bill <- 220 + (units - 250) * 1.50
}
return(bill)
}
```
该函数接受一个参数 units,表示居民用电量。在函数内部,首先通过 is.numeric() 函数判断输入是否为数值型数据,如果不是则抛出错误提示;然后通过判断输入是否为正数,如果不是则同样抛出错误提示。最后根据电费计算标准计算电费,并返回计算结果。
使用该函数的示例代码如下:
```R
# 计算用电量为 100 的电费
calculate_electricity_bill(100)
# 输出:[1] 62.5
# 输入非数值型数据会抛出错误提示
calculate_electricity_bill("abc")
# 输出:Error in calculate_electricity_bill("abc") : 输入必须为数值型数据!
# 输入负数会抛出错误提示
calculate_electricity_bill(-10)
# 输出:Error in calculate_electricity_bill(-10) : 输入必须为正数!
```