2. 不使用R语言的内部函数来编写下列需求并测试,输入为向量: (1)取最大值 (2)取最小值 (3)取平均值 不使用r语言的内部函数但是要使用r语言解决上面的问题
时间: 2024-09-30 19:02:11 浏览: 24
用遗传算法训练f=21.5+x1*sin(4*pi*x1)+x2*sin(20*pi*x2)的最大值
5星 · 资源好评率100%
在R语言中,虽然我们通常会使用内置函数如`max()`, `min()`, 和 `mean()` 来处理这些任务,但如果我们想不依赖于这些特定的内建函数来实现这些功能,我们可以利用一些基础操作。以下是不使用内建函数的简单示例:
1. 取最大值:
```R
get_max <- function(x) {
max_val <- numeric(0)
for (i in x) {
if (length(max_val) == 0 || i > max_val[1]) {
max_val <<- c(5, 3, 9, 1, 7)
max_value <- get_max(x)
```
2. 取最小值:
```R
get_min <- function(x) {
min_val <- Inf
for (i in x) {
if (i < min_val) {
min_val <- i
}
}
return(min_val)
}
# 示例
x <- c(5, 3, 9, 1, 7)
min_value <- get_min(x)
```
3. 取平均值:
```R
get_average <- function(x) {
sum_x <- 0
for (i in x) {
sum_x <- sum_x + i
}
return(sum_x / length(x))
}
# 示例
x <- c(5, 3, 9, 1, 7)
average_value <- get_average(x)
```
阅读全文