首页 > 解决方案 > 如何使用函数填充 R 中的空向量?

问题描述

首先,我正在初始化一个空向量,并且我想在调用该函数时填充它。我希望将添加的元素添加到空向量中,依此类推,但是当我调用该函数时没有任何反应,所以我不确定我做错了什么。任何帮助表示赞赏。

 empty_vec<-c()

func<-function(num){
  
  for (numbers in num) {   
    i<-sqrt(numbers)
    empty_vec<- c(empty_vec,i)
  }
}

func(4) # When calling the func,4 isn't getting added to the empty_vec.

标签: rfunctionfor-loopvector

解决方案


empty_vec您应该在其中初始化func并返回它(因此您也应该放在empty_vec底部),例如,

func <- function(num) {
  empty_vec <- c()
  for (numbers in num) {
    i <- sqrt(numbers)
    empty_vec <- c(empty_vec, i)
  }
  empty_vec
}

这样

> func(c(4, 5, 6, 7))
[1] 2.000000 2.236068 2.449490 2.645751

由于您正在做的是计算sqrt,因此您可以通过

> sqrt(c(4,5,6,7))
[1] 2.000000 2.236068 2.449490 2.645751

推荐阅读